/* Stock views (cart, checkout, account, blog) inside the full-width main: give them back a container. */
main#content > :not(.gnc-home):not(.gnc-page) { max-width: var(--gnc-max); margin-left: auto; margin-right: auto; padding-left: var(--gnc-gutter); padding-right: var(--gnc-gutter); padding-top: 32px; padding-bottom: 48px; }

.bg-white, .bg-light, .table-light, .list-group-item, .card, .modal-content, .offcanvas, .dropdown-menu, .input-group-text, .accordion-item, .accordion-button {
    background-color: var(--gnc-surface) !important;
    color: var(--gnc-ink);
    border-color: var(--gnc-line);
}
.text-dark, .text-black { color: var(--gnc-ink) !important; }
.form-control:focus, .form-select:focus { border-color: var(--gnc-accent); box-shadow: 0 0 0 .2rem var(--gnc-accent-soft); }
.btn-info, .btn-primary { background: var(--gnc-accent); border-color: var(--gnc-accent); color: var(--gnc-on-accent); }
.btn-info:hover, .btn-primary:hover { background: #5ce5ee; border-color: #5ce5ee; color: var(--gnc-on-accent); }
.btn-secondary, .btn-light, .btn-outline-secondary { background: var(--gnc-surface-2); border-color: var(--gnc-line); color: var(--gnc-ink); }
.table { --bs-table-bg: transparent; --bs-table-color: var(--gnc-ink); --bs-table-border-color: var(--gnc-line); }
.breadcrumb { --bs-breadcrumb-divider-color: var(--gnc-muted); }

/* Stock legacy dark rules ([dark-theme="true"] ..., common.css) out-rank plain theme classes - match their specificity. */
body[dark-theme="true"], #app[dark-theme="true"] { background-color: var(--gnc-bg); color: var(--gnc-ink); }
[dark-theme="true"] footer.gnc-footer { background-color: var(--gnc-bg); }
[dark-theme="true"] a.gnc-btn--primary, [dark-theme="true"] a.gnc-btn--primary:hover { color: var(--gnc-on-accent); }
[dark-theme="true"] a.gnc-btn--ghost { color: var(--gnc-accent); }
[dark-theme="true"] a.gnc-btn--outline { color: var(--gnc-ink); }
[dark-theme="true"] .gnc-nav__item > a, [dark-theme="true"] .gnc-footer a, [dark-theme="true"] .gnc-ghstats a { color: var(--gnc-muted); }
[dark-theme="true"] .gnc-nav__menu a { color: var(--gnc-ink); }
[dark-theme="true"] .gnc-nav__item > a:hover, [dark-theme="true"] .gnc-footer a:hover, [dark-theme="true"] .gnc-ghstats a:hover { color: #fff; }
[dark-theme="true"] a.gnc-logo { color: #fff; }
[dark-theme="true"] .card-header, [dark-theme="true"] .card-footer, .card-header, .card-footer { background-color: var(--gnc-surface-2) !important; color: var(--gnc-ink); border-color: var(--gnc-line); }

/* Form fields: visible boundary, calm fill, accent on focus. Specificity matches the stock [dark-theme="true"] rules. */
.form-control, .form-select, [dark-theme="true"] .form-control, [dark-theme="true"] .form-select,
[dark-theme="true"] input.form-control, [dark-theme="true"] textarea.form-control, .qty-input, [dark-theme="true"] .qty-input {
    background-color: var(--gnc-field-bg) !important;
    border: 1px solid var(--gnc-field-border) !important;
    color: var(--gnc-ink) !important;
}
.form-control::placeholder { color: var(--gnc-field-placeholder); opacity: 1; }
.form-control:focus, .form-select:focus, .qty-input:focus {
    border-color: var(--gnc-accent) !important;
    box-shadow: 0 0 0 .2rem var(--gnc-accent-soft) !important;
    outline: none;
}
.form-check-input, [dark-theme="true"] .form-check-input { background-color: var(--gnc-field-bg); border: 1px solid var(--gnc-field-border); }
.form-check-input:checked, [dark-theme="true"] .form-check-input:checked { background-color: var(--gnc-accent); border-color: var(--gnc-accent); }
/* stock multiline product attribute: a bare <textarea> without .form-control */
textarea[id^="product_attribute_"] {
    display: block; width: 100%; min-height: 120px; padding: .5rem .75rem; border-radius: var(--bs-border-radius, .375rem);
    background-color: var(--gnc-field-bg); border: 1px solid var(--gnc-field-border); color: var(--gnc-ink); font: inherit; resize: vertical;
}
textarea[id^="product_attribute_"]:focus { border-color: var(--gnc-accent); box-shadow: 0 0 0 .2rem var(--gnc-accent-soft); outline: none; }
