/* Strong overrides for readability across themes (Divi, etc.) */
.apc-card{
    border:1px solid rgba(0,0,0,0.08);
    border-radius:1rem;
    padding:1rem;
    background:#fff;
    box-shadow:0 6px 20px rgba(0,0,0,0.06);
    margin-bottom:1rem;
    max-width:640px;
}
.apc-fields{
    display:grid;
    grid-template-columns: 1fr 1fr 120px;
    gap:0.75rem;
    margin-bottom:0.75rem;
}
.apc-field label{
    display:block;
    font-size:0.9rem;
    color:#334155;
    margin-bottom:0.25rem;
}
.apc-card .apc-field input,
.apc-card .apc-field select,
.apc-card input[type="number"],
.apc-card select {
    width:100%;
    border:1px solid #e5e7eb !important;
    border-radius:0.75rem !important;
    padding:0.6rem 0.8rem !important;
    background:#f9fafb !important;
    background-color:#f9fafb !important;
    outline:none !important;
    color:#111827 !important;
    -webkit-text-fill-color:#111827 !important;
    caret-color:#111827 !important;
}
.apc-card .apc-field input::placeholder{
    color:#64748b !important;
    opacity:1 !important;
}
.apc-card .apc-field input:-webkit-autofill {
    -webkit-text-fill-color:#111827 !important;
    box-shadow:0 0 0px 1000px #f9fafb inset !important;
    transition:background-color 9999s ease-out 0s !important;
}
.apc-card .apc-field input:focus, 
.apc-card .apc-field select:focus{
    border-color:#a5b4fc !important;
    box-shadow:0 0 0 4px rgba(165,180,252,0.25) !important;
    background:#fff !important;
    background-color:#fff !important;
    color:#111827 !important;
    -webkit-text-fill-color:#111827 !important;
}
.apc-summary{
    display:flex;
    gap:0.75rem;
    align-items:center;
    flex-wrap:wrap;
    margin:0.25rem 0 0.75rem;
}
.apc-chip{
    background:#f1f5f9;
    border-radius:999px;
    padding:0.35rem 0.75rem;
    display:flex;
    gap:0.5rem;
    align-items:center;
    font-size:0.95rem;
}
.apc-total{
    background:#eef2ff;
}
.apc-badge{
    background:#4f46e5;
    color:#fff;
    padding:0.2rem 0.5rem;
    border-radius:999px;
    font-size:0.8rem;
    font-weight:600;
    letter-spacing:0.02em;
}
.apc-note{
    color:#475569;
    font-size:0.85rem;
    margin-top:0.5rem;
}
.apc-card .single_add_to_cart_button{
    border-radius:0.75rem !important;
    padding:0.8rem 1.2rem !important;
    font-weight:600;
}
.apc-invalid .apc-note::before{ content: "⚠ "; }
.apc-invalid .apc-note{ color:#b91c1c; }
/* Hide duplicate native button near our card */
