/* Shared portal finish, loaded after each sub-site's styles.
   Keep existing columns, module order, imagery and responsive breakpoints. */
:root {
    --ek-text: #101010;
    --ek-muted: #767678;
    --ek-border: #e3e5e8;
    --ek-bg: #f4f6fa;
    --ek-green: #03c75a;
    --ek-radius: 6px;
    --bs-border-color: #e3e5e8;
    --bs-border-radius: 4px;
    --bs-border-radius-sm: 3px;
    --bs-border-radius-lg: 6px;
    --bs-box-shadow: none;
    --bs-box-shadow-sm: none;
    --bs-box-shadow-lg: none;
    --bs-body-color: #101010;
    --bs-secondary-color: #767678;
    --bs-tertiary-bg: #f5f7f8;
}

body { background: #f4f6fa; line-height: 1.5; }
.site-header { background: #fff; border-bottom-color: #e3e5e8; }
.topbar, .site-footer { background: #f5f7f8; }
.site-footer { border-top: 1px solid #e3e5e8; margin-top: 2rem; }

/* Remove raised effects, including Bootstrap utilities and focus shadows. */
*, *::before, *::after { box-shadow: none !important; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid #03a94d;
    outline-offset: 2px;
}
.form-control, .form-select { border-color: #d3d5d7; }
.form-control:focus, .form-select:focus { border-color: #03a94d; }
.btn, .form-control, .form-select, .dropdown-menu, .page-link {
    border-radius: 4px;
}
.rounded-pill { border-radius: 4px !important; }

.card-box, .panel, .card, .modal-content, .toast {
    background-color: #fff;
    border: 1px solid #e3e5e8;
    border-radius: 6px;
}
.card-box, .panel { padding: 1rem; }
.section-head { gap: .65rem; margin-bottom: .75rem; }
.section-head h2 { font-size: 1.05rem; font-weight: 700; }
.head-band > .section-head { background: #f5f7f8; border-color: #e3e5e8; }
.meta, .crumbs, .panel-sub { color: #767678; }

/* Tighter gutters keep all existing column widths and module ordering. */
.g-3, .gx-3 { --bs-gutter-x: .75rem; }
.g-3, .gy-3 { --bs-gutter-y: .75rem; }
.g-4, .gx-4 { --bs-gutter-x: 1rem; }
.g-4, .gy-4 { --bs-gutter-y: 1rem; }
.gap-3 { gap: .75rem !important; }
.gap-4 { gap: 1rem !important; }
main .mt-4 { margin-top: 1rem !important; }
main .mb-4 { margin-bottom: 1rem !important; }

.header-search, .shop-search, .food-search { border-color: #03c75a; border-radius: 6px; }
.header-search .btn, .shop-search .btn-primary, .food-search .btn {
    background: #03a94d;
    border-color: #03a94d;
    color: #fff;
    border-radius: 0;
}
.header-search .btn:hover { background: #008f40; border-color: #008f40; }
.category-nav { gap: .15rem; padding-bottom: .65rem; }
.category-nav a { border-radius: 4px; gap: .25rem; color: #303038; }
.category-nav a:hover { background: #f5f7f8; }
.category-nav a.active { background: #e8f8ee; color: #008f40; }
.btn-login { background: #fff; border: 1px solid #e3e5e8; border-radius: 4px; }
.btn-success {
    --bs-btn-bg: #03a94d;
    --bs-btn-border-color: #03a94d;
    --bs-btn-hover-bg: #008f40;
    --bs-btn-hover-border-color: #008f40;
}
.dropdown-menu, .table { --bs-table-border-color: #e3e5e8; border-color: #e3e5e8; }
.dropdown-item:hover, .page-link:hover { background-color: #f5f7f8; }

@media (max-width: 575.98px) {
    .card-box, .panel { padding: .8rem; }
    .section-head h2 { font-size: 1rem; }
}
