/* ── Modern Premium Notices ── */
.woocommerce-message,
.woocommerce-info {
  border-radius: 20px !important;
  border: 1px solid rgba(26, 77, 71, 0.08) !important;
  border-inline-start: 6px solid var(--workforce-primary, #ff8c42) !important;
  background: #ffffff !important;
  color: #1a4d47 !important;
  padding: 20px 24px !important;
  box-shadow: 0 10px 25px -5px rgba(26, 77, 71, 0.05) !important;
  font-weight: 700 !important;
  margin-bottom: 2rem !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.woocommerce-error {
  border-radius: 20px !important;
  border: 1px solid rgba(239, 68, 68, 0.1) !important;
  border-inline-start: 6px solid #ef4444 !important;
  background: #fffafa !important;
  color: #b91c1c !important;
  padding: 20px 24px !important;
  box-shadow: 0 10px 25px -5px rgba(239, 68, 68, 0.05) !important;
  font-weight: 700 !important;
  margin-bottom: 2rem !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  list-style: none !important;
}

.woocommerce-error li {
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Custom Animations ── */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

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

.animate-fadeIn { animation: fadeIn 0.6s ease-out forwards; }
.animate-slideUp { animation: slideUp 0.6s ease-out forwards; }
.animate-slideDown { animation: slideDown 0.6s ease-out forwards; }

.glass-morphism {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce ul.products li.product {
  width: auto !important;
  margin: 0 !important;
}

.woocommerce .quantity .qty {
  padding: 0.5rem;
  border-radius: var(--radius-md, 0.75rem);
  border: 1px solid var(--color-border-primary, rgba(200, 149, 108, 0.15));
  background: var(--color-bg-secondary, #1a1a1a);
  color: var(--color-text-primary, #f5f0e8);
}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  border-radius: var(--radius-md, 0.75rem);
  background: var(--color-primary, #c8956c) !important;
  color: #0a0a0a !important;
  font-weight: 700;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  border-radius: var(--radius-md, 0.75rem);
  border: 1px solid var(--color-border-primary, rgba(200, 149, 108, 0.15));
  background: var(--color-bg-secondary, #1a1a1a);
  color: var(--color-text-primary, #f5f0e8);
}

/* Account nav: styled in camipx/templates/profile/style.css (Campix segmented tabs). */

.workforce-checkout-rental-wrap {
  margin-bottom: 1.5rem;
  padding: 1rem 1.25rem;
  border-radius: var(--radius-md, 0.75rem);
  border: 1px solid rgba(200, 149, 108, 0.2);
  background: rgba(200, 149, 108, 0.05);
}

.workforce-checkout-rental__title {
  margin: 0 0 0.5rem;
  font-size: 1.1rem;
  color: var(--color-primary, #c8956c);
}

.workforce-checkout-rental__hint {
  margin: 0 0 1rem;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: rgba(245, 240, 232, 0.55);
}

.workforce-checkout-form .workforce-checkout-rental-date.input-text {
  max-width: 100%;
}

/* ── Redesign: WooCommerce Points and Rewards ── */
.wc_points_rewards_apply_points {
    background: linear-gradient(135deg, #ffffff 0%, #f0f7f6 100%);
    border: 1px solid rgba(26, 77, 71, 0.08) !important;
    border-radius: 32px !important;
    padding: 24px 32px !important;
    margin: 24px 0 !important;
    box-shadow: 0 20px 40px -15px rgba(26, 77, 71, 0.08) !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    position: relative !important;
    overflow: hidden !important;
    direction: rtl !important;
}

.wc_points_rewards_apply_points::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 120px;
    height: 120px;
    background: radial-gradient(circle, rgba(255, 140, 66, 0.05) 0%, transparent 70%);
    border-radius: 50%;
    z-index: 0;
}

.wc_points_rewards_apply_points > span {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #1a4d47 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    z-index: 1 !important;
}

/* Add an icon before the text */
.wc_points_rewards_apply_points > span::before {
    content: '★';
    background: #ff8c42;
    color: #fff;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    box-shadow: 0 4px 10px rgba(255, 140, 66, 0.3);
}

.wc_points_rewards_apply_points_form {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: #fff !important;
    padding: 6px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(26, 77, 71, 0.1) !important;
    z-index: 1 !important;
    transition: all 0.3s ease !important;
}

.wc_points_rewards_apply_points_form:focus-within {
    border-color: #ff8c42 !important;
    box-shadow: 0 0 0 4px rgba(255, 140, 66, 0.1) !important;
}

.wc_points_rewards_apply_points_input {
    border: none !important;
    background: transparent !important;
    padding: 8px 16px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a4d47 !important;
    width: 120px !important;
    outline: none !important;
}

.wc_points_rewards_apply_points_button {
    background: #1a4d47 !important;
    color: #fff !important;
    border: none !important;
    padding: 10px 24px !important;
    border-radius: 16px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin: 0 !important;
}

.wc_points_rewards_apply_points_button:hover {
    background: #ff8c42 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 15px rgba(255, 140, 66, 0.4) !important;
}

/* Secondary message line */
.wc_points_rewards_apply_points p {
    flex-basis: 100% !important;
    margin: 4px 0 0 !important;
    font-size: 12px !important;
    color: #5a6c68 !important;
    opacity: 0.8 !important;
    padding-right: 40px !important;
    z-index: 1 !important;
}

@media (max-width: 768px) {
    .wc_points_rewards_apply_points {
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 20px !important;
    }
    .wc_points_rewards_apply_points_form {
        width: 100% !important;
        justify-content: space-between !important;
    }
    .wc_points_rewards_apply_points_input {
        flex: 1 !important;
    }
    .wc_points_rewards_apply_points p {
        padding-right: 0 !important;
    }
}

/* ── Review Submit Button ── */
.workforce-pdp-reviews__submit,
.camipx-pdp-reviews__submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    background: var(--workforce-secondary, #1a4d47) !important;
    color: #ffffff !important;
    padding: 14px 32px !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 4px 14px 0 rgba(26, 77, 71, 0.15) !important;
    margin-top: 1.5rem !important;
    text-decoration: none !important;
    width: 100% !important; /* Ensure it takes full width if requested by utility classes */
    height: 54px !important; /* Premium height */
}

.workforce-pdp-reviews__submit:hover,
.camipx-pdp-reviews__submit:hover {
    background: var(--workforce-primary, #ff8c42) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(255, 140, 66, 0.3) !important;
}

.workforce-pdp-reviews__submit svg,
.camipx-pdp-reviews__submit svg {
    flex-shrink: 0 !important;
    transition: transform 0.3s ease !important;
}

.workforce-pdp-reviews__submit:hover svg,
.camipx-pdp-reviews__submit:hover svg {
    transform: scale(1.1) rotate(5deg) !important;
}

/* ── Force Remove Default WC Stars Text ── */
.stars, 
.stars span, 
.stars a, 
.stars a::before, 
.star-rating, 
.woocommerce-product-rating .star-rating,
.comment-form-rating p.stars {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ── Mobile Layout Fixes (Modern Premium Feel) ── */
@media (max-width: 768px) {
    /* Spacing fixes for home sections to prevent overlapping */
    .front-stats-bar {
        margin-top: -2rem !important; /* Slightly less overlap on mobile */
        padding: 1.5rem !important;
    }

    /* Floating buttons – fix overlap and size */
    .workforce-floating-buttons {
        bottom: 15px !important;
        left: 15px !important; /* Keep on left but with better spacing */
        gap: 8px !important;
        z-index: 100000 !important;
    }

    a.workforce-floating-btn {
        width: 52px !important;
        height: 52px !important;
        min-width: 52px !important;
        min-height: 52px !important;
    }

    /* Modern Glass Effect for Mobile Buttons */
    a.workforce-floating-btn {
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }

    /* Hero section text alignment for mobile */
    .workforce-main h1 {
        font-size: 28px !important;
        line-height: 1.3 !important;
    }

    /* Specific fix for 'stats bar' grid on very small screens */
    .workforce-main .grid-cols-2 {
        gap: 0.75rem !important;
    }

    .workforce-main .grid-cols-2 p {
        font-size: 1.5rem !important;
    }
}
