/*
Theme Name:  SGLS Child
Theme URI:   https://sgls.sec.org.sg
Description: SGLS Child Theme — Singapore Green Labelling Scheme
Author:      Singapore Environment Council
Author URI:  https://sec.org.sg
Template:    generatepress
Version:     3.0
License:     GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sgls-child
*/

*/

/* ============================================================
   BASE TYPOGRAPHY & LAYOUT
   ============================================================ */

body {
    font-family: "Source Sans 3", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 16px;
    color: #111111;
    line-height: 1.5;
    margin: 0;
    padding: 0;
}

p, li, span, a, button, input, .primary-menu a, h1, h2, h3, h4, h5, h6 {
    font-family: "Source Sans 3", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.entry-title, h1 {
    font-size: 40px;
    font-weight: 700;
    margin-bottom: 0.75em;
}
h2 {
    font-size: 30px;
    font-weight: 600;
    margin-top: 2em;
}
h3 {
    font-size: 22px;
    font-weight: 600;
    margin-top: 1.5em;
}

/* Links */
a { color: #2E7D32; text-decoration: none; }
a:hover { color: #1B5E20; }

/* Buttons */
button, .btn, input[type="submit"] {
    background-color: #2E7D32;
    color: #ffffff;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
button:hover, .btn:hover, input[type="submit"]:hover {
    background-color: #1B5E20;
}

/* Full-width image alignment */
.alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
.wp-block-image.alignfull img,
.wp-block-cover.alignfull {
    width: 100%;
    height: 60vh;
    object-fit: cover;
    object-position: center;
}


/* ============================================================
   SHARED UTILITY CLASSES
   ============================================================ */

/* Section label (uppercase small heading) */
.sgls-section-label {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #888;
    font-weight: 700;
    margin: 0 0 0.6rem;
    padding: 0;
    border: none;
}

/* Buttons */
.sgls-btn {
    display: inline-block;
    padding: 9px 16px;
    border-radius: 4px;
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
    font-family: inherit;
    cursor: pointer;
}
.sgls-btn--secondary {
    background: #1a4d2e;
    color: #fff;
    border: 1px solid #1a4d2e;
}
.sgls-btn--secondary:hover { background: #0f3320; color: #fff; }
.sgls-btn--ghost {
    background: transparent;
    color: #1a4d2e;
    border: 1px solid #1a4d2e;
}
.sgls-btn--ghost:hover { background: #f0f7f2; }
.sgls-btn--full { display: block; width: 100%; text-align: center; }

/* Nav bar shared styles */
.sgls-back-link { color: #1a6b44; text-decoration: none; font-weight: 500; font-size: 0.85rem; }
.sgls-back-link:hover { text-decoration: underline; }
.sgls-back-link--cat { color: #555; }
.sgls-nav-sep { color: #ccc; font-size: 0.85rem; }
.sgls-nav-current { color: #888; font-size: 0.85rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 260px; }

/* No-image placeholder */
.sgls-product-no-image {
    width: 100%;
    height: 200px;
    background: #f0f4f0;
    border: 1px dashed #c8d8c8;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 0.85rem;
}
.sgls-product-item .sgls-product-no-image { height: 120px; }

/* Valid badge */
.sgls-valid-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #e8f5e9;
    border: 1px solid #81c784;
    border-radius: 4px;
    padding: 5px 12px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #1b5e20;
    margin-bottom: 0.75rem;
}
.sgls-valid-badge--enhanced { background: #e3f2fd; border-color: #90caf9; color: #0d47a1; }
.sgls-valid-badge__icon { font-size: 1rem; }

/* Enhanced badge (inline) */
.sgls-enhanced-badge {
    display: inline-block;
    background: #e3f2fd;
    color: #0d47a1;
    font-size: 0.72rem;
    padding: 1px 6px;
    border-radius: 10px;
    font-weight: 700;
    margin-left: 4px;
    vertical-align: middle;
}

/* Category badges (New / Updated) */
.sgls-cat-badge {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 10px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    vertical-align: middle;
    flex-shrink: 0;
}
.sgls-cat-badge--new { background: #e8f5e9; color: #1b5e20; border: 1px solid #81c784; }
.sgls-cat-badge--updated { background: #fff8e1; color: #f57f17; border: 1px solid #ffcc02; }


/* ============================================================
   SINGLE CERTIFIED PRODUCT PAGE
   ============================================================ */

.sgls-product-detail {
    max-width: 1100px;
    margin: 2rem auto;
    padding: 0 1.25rem;
}

/* Nav bar */
.sgls-nav-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

/* Two / one column layout */
.sgls-product-inner { display: grid; gap: 2.5rem; align-items: start; }
.sgls-product-inner--two-col { grid-template-columns: 1fr 1fr; }
.sgls-product-inner--one-col { grid-template-columns: 1fr; max-width: 720px; }
.sgls-product-inner--one-col .sgls-product-right { position: static; }

/* Left column */
.sgls-product-title { font-size: 1.75rem; font-weight: 700; margin: 0 0 0.25rem; line-height: 1.2; }
.sgls-product-excerpt { color: #555; font-size: 0.95rem; margin: 0 0 1rem; }

.sgls-product-photo-wrap { margin-bottom: 1.5rem; }
.sgls-product-photo { width: 100%; height: auto; border-radius: 6px; border: 1px solid #e5e5e0; display: block; }

/* Verification table */
.sgls-verification-block { margin-bottom: 1.5rem; }
.sgls-data-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; margin-bottom: 0.75rem; }
.sgls-data-table tr { border-bottom: 1px solid #eee; }
.sgls-data-table tr:last-child { border-bottom: none; }
.sgls-data-table th { text-align: left; font-weight: 500; color: #777; padding: 7px 12px 7px 0; width: 160px; vertical-align: top; white-space: nowrap; }
.sgls-data-table td { padding: 7px 0; color: #111; font-weight: 600; vertical-align: top; }
.sgls-purchase-note { display: flex; align-items: flex-start; gap: 7px; font-size: 0.82rem; color: #1a4d2e; background: #f0f7f2; border: 1px solid #c8e6c9; border-radius: 4px; padding: 8px 12px; margin: 0 0 8px; }
.sgls-purchase-note svg { flex-shrink: 0; margin-top: 1px; }
.sgls-verify-note { font-size: 0.82rem; color: #666; background: #fafafa; border: 1px solid #eee; border-radius: 4px; padding: 8px 12px; margin: 0; }
.sgls-verify-note a { color: #2e7d32; }

/* Back buttons */
.sgls-back-buttons { display: flex; gap: 10px; margin-top: 1.5rem; flex-wrap: wrap; }

/* Right column */
.sgls-product-right { position: sticky; top: 2rem; }

/* Tabs */
.sgls-tabs { display: flex; gap: 4px; border-bottom: 2px solid #e5e5e0; padding-bottom: 0; margin-bottom: 0; }
.sgls-tab { padding: 8px 16px; font-size: 0.88rem; font-weight: 600; border: none; background: none; color: #777; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: color 0.15s, border-color 0.15s; font-family: inherit; }
.sgls-tab:hover { color: #333; }
.sgls-tab--active { color: #1a4d2e; border-bottom-color: #1a4d2e; }

/* Tab panels */
.sgls-tab-panel { padding: 1rem 0; }
.sgls-tab-content { font-size: 0.92rem; color: #444; line-height: 1.7; margin-bottom: 0.75rem; }
.sgls-tab-content p { margin: 0 0 0.6rem; }
.sgls-consumer-note { font-size: 0.82rem; background: #e8f5e9; border-radius: 4px; padding: 8px 12px; color: #2e7d32; font-weight: 500; }
.sgls-b2b-note { font-size: 0.82rem; color: #888; margin: 0.5rem 0 0; font-style: italic; }

/* Category scope box */
.sgls-category-scope { margin-top: 1.5rem; }
.sgls-scope-box { background: #f9f9f7; border: 1px solid #e5e5e0; border-radius: 6px; padding: 12px 14px; font-size: 0.88rem; color: #444; line-height: 1.6; }
.sgls-scope-desc { display: block; color: #666; margin: 4px 0 8px; font-size: 0.85rem; }
.sgls-scope-link { display: block; margin-top: 6px; font-size: 0.85rem; color: #1a6b44; font-weight: 600; text-decoration: none; }
.sgls-scope-link:hover { text-decoration: underline; }

/* Post content */
.sgls-product-content { margin-top: 1.5rem; font-size: 0.92rem; line-height: 1.7; color: #444; }

/* Expired notice */
.sgls-product-expired { max-width: 700px; margin: 2rem auto; padding: 2rem; background: #fff8e1; border: 1px solid #ffe082; border-left: 4px solid #f59e0b; border-radius: 6px; color: #5d4037; }
.sgls-product-expired__icon { font-size: 2rem; margin-bottom: 0.75rem; }
.sgls-product-expired h1 { margin: 0 0 0.75rem; font-size: 1.4rem; color: #111; }
.sgls-product-expired__message { font-size: 1rem; color: #b45309; margin: 0 0 0.75rem; }
.sgls-product-expired p { font-size: 0.92rem; margin: 0 0 0.75rem; line-height: 1.6; }
.sgls-product-expired__date { font-size: 0.88rem; color: #888; }
.sgls-product-expired__actions { display: flex; gap: 10px; margin: 1.25rem 0; flex-wrap: wrap; }
.sgls-product-expired__verify { font-size: 0.82rem; color: #888; border-top: 1px solid #ffe082; padding-top: 0.75rem; margin-top: 0.75rem; }
.sgls-product-expired__verify a { color: #1a6b44; }
.sgls-product-expired a { color: #2e7d32; }

/* Other products by same licensee */
.sgls-other-products { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid #e5e5e0; }
.sgls-other-products__header { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; flex-wrap: wrap; }
.sgls-other-products__title { font-size: 1.1rem; font-weight: 600; margin: 0; color: #111; }
.sgls-other-products__view-all { font-size: 0.85rem; color: #1a6b44; font-weight: 600; text-decoration: none; white-space: nowrap; }
.sgls-other-products__view-all:hover { text-decoration: underline; }

.sgls-other-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 1rem; }
.sgls-other-card { display: block; background: #fff; border: 1px solid #e5e5e0; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: box-shadow 0.15s, transform 0.15s; }
.sgls-other-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.08); transform: translateY(-2px); }
.sgls-other-card__img { width: 100%; height: 110px; overflow: hidden; background: #f0f4f0; display: flex; align-items: center; justify-content: center; }
.sgls-other-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sgls-other-card__no-img { font-size: 0.75rem; color: #aaa; }
.sgls-other-card__body { padding: 10px 12px; }
.sgls-other-card__badges { display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 6px; }
.sgls-other-card__cat { font-size: 0.7rem; background: #f0f4f0; color: #555; padding: 1px 6px; border-radius: 10px; font-weight: 500; }
.sgls-other-card__scheme { font-size: 0.7rem; background: #e8f5e9; color: #2e7d32; padding: 1px 6px; border-radius: 10px; font-weight: 600; }
.sgls-other-card__scheme--enhanced { background: #e3f2fd; color: #0d47a1; }
.sgls-other-card__title { font-size: 0.88rem; font-weight: 600; color: #111; margin: 0 0 4px; line-height: 1.3; }
.sgls-other-card__cert { font-size: 0.75rem; color: #888; margin: 0; }

.sgls-only-product { background: #f9f9f7; border: 1px solid #e5e5e0; border-radius: 6px; padding: 1.25rem 1.5rem; font-size: 0.92rem; color: #555; }
.sgls-only-product p { margin: 0 0 1rem; }
.sgls-only-product strong { color: #111; }

/* Single page responsive */
@media (max-width: 860px) {
    .sgls-product-inner--two-col { grid-template-columns: 1fr; gap: 1.5rem; }
    .sgls-product-right { position: static; }
    .sgls-product-title { font-size: 1.4rem; }
    .sgls-data-table th { width: 130px; }
}
@media (max-width: 600px) {
    .sgls-other-grid { grid-template-columns: 1fr 1fr; }
    .sgls-back-buttons { flex-direction: column; }
    .sgls-btn { text-align: center; }
    .sgls-nav-current { display: none; }
}
@media (max-width: 480px) {
    .sgls-data-table { font-size: 0.82rem; }
    .sgls-data-table th { width: 110px; }
    .sgls-tab { padding: 6px 10px; font-size: 0.82rem; }
}


/* ============================================================
   DIRECTORY PAGE
   ============================================================ */

.sgls-dir-wrap { max-width: 1200px; margin: 0 auto; padding: 1.5rem 1.25rem 3rem; }

.sgls-dir-header { margin-bottom: 1.5rem; }
.sgls-dir-title { font-size: 1.75rem; font-weight: 700; margin: 0 0 0.4rem; }
.sgls-dir-intro { font-size: 0.95rem; color: #666; margin: 0; }

/* Search bar */
/* ── Directory search bar ─────────────────────────────────────────────── */
.sgls-dir-searchbar { margin-bottom: 1.75rem; }
.sgls-autocomplete-wrap { position: relative; }
.sgls-search-input-row {
	display: flex;
	align-items: center;
	background: #fff;
	border: 2px solid #1a4d2e;
	border-radius: 8px;
	box-shadow: 0 4px 16px rgba(26,77,46,0.10);
	overflow: hidden;
	transition: box-shadow 0.2s;
}
.sgls-search-input-row:focus-within {
	box-shadow: 0 4px 24px rgba(26,77,46,0.18);
	border-color: #0f3320;
}
.sgls-search-icon {
	display: flex;
	align-items: center;
	padding: 0 10px 0 16px;
	color: #1a4d2e;
	flex-shrink: 0;
}
.sgls-dir-search-input {
	flex: 1;
	min-width: 0;
	padding: 16px 10px;
	font-size: 1.05rem;
	border: none;
	outline: none;
	font-family: inherit;
	color: #111;
	background: transparent;
}
.sgls-dir-search-input::placeholder { color: #999; }
.sgls-dir-search-clear {
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	padding: 0 8px;
	color: #aaa;
	font-size: 1rem;
	cursor: pointer;
	flex-shrink: 0;
}
.sgls-dir-search-clear:hover { color: #555; }
.sgls-dir-search-btn {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 14px 22px;
	background: #1a4d2e;
	color: #fff;
	border: none;
	font-size: 0.95rem;
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
	white-space: nowrap;
	flex-shrink: 0;
	transition: background 0.15s;
}
.sgls-dir-search-btn:hover { background: #0f3320; }
.sgls-dir-search-hint {
	display: flex;
	align-items: center;
	gap: 5px;
	margin: 8px 2px 0;
	font-size: 0.82rem;
	color: #888;
}
.sgls-dir-search-hint svg { flex-shrink: 0; color: #1a4d2e; }
.sgls-dir-search-hint strong { color: #444; font-weight: 600; }
.sgls-dir-clear-btn { font-size: 0.82rem; color: #c0392b; text-decoration: none; font-weight: 500; }
.sgls-dir-clear-btn:hover { text-decoration: underline; color: #922b21; }
.sgls-dir-clear-btn { font-size: 0.85rem; color: #888; text-decoration: none; white-space: nowrap; }
.sgls-dir-clear-btn:hover { color: #333; text-decoration: underline; }

/* Autocomplete dropdown */
.sgls-suggestions { position: absolute; top: calc(100% + 4px); left: 0; right: 0; background: #fff; border: 1px solid #ddd; border-radius: 6px; box-shadow: 0 4px 16px rgba(0,0,0,0.10); z-index: 999; max-height: 360px; overflow-y: auto; }
.sgls-sug-group-label { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.07em; color: #aaa; font-weight: 700; padding: 8px 12px 4px; border-top: 1px solid #f0f0ee; }
.sgls-sug-group-label:first-child { border-top: none; }
.sgls-sug-item { display: flex; align-items: center; gap: 8px; padding: 8px 12px; cursor: pointer; font-size: 0.88rem; color: #333; transition: background 0.1s; }
.sgls-sug-item:hover, .sgls-sug-item--active { background: #f0f7f2; }
.sgls-sug-icon { width: 20px; height: 20px; border-radius: 4px; display: flex; align-items: center; justify-content: center; font-size: 0.65rem; font-weight: 700; flex-shrink: 0; }
.sgls-sug-icon--product { background: #e8f5e9; color: #2e7d32; }
.sgls-sug-icon--licensee { background: #e3f2fd; color: #0d47a1; }
.sgls-sug-icon--category { background: #fff8e1; color: #f57f17; }
.sgls-sug-label { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #111; }
.sgls-sug-action { font-size: 0.75rem; color: #aaa; white-space: nowrap; flex-shrink: 0; }
.sgls-sug-item:hover .sgls-sug-action, .sgls-sug-item--active .sgls-sug-action { color: #1a6b44; }

/* Two-column layout */
.sgls-dir-layout { display: grid; grid-template-columns: 220px 1fr; gap: 2rem; align-items: start; }

/* Sidebar */
.sgls-dir-sidebar { position: sticky; top: 1.5rem; background: #f9f9f7; border: 1px solid #e5e5e0; border-radius: 8px; padding: 1.25rem; }
.sgls-filter-group { margin-bottom: 1.5rem; }
.sgls-filter-group:last-of-type { margin-bottom: 1rem; }
.sgls-filter-label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.07em; color: #888; font-weight: 700; margin-bottom: 8px; display: block; }

/* Category tree */
.sgls-cat-list { font-size: 0.88rem; }
.sgls-cat-item--all { padding: 5px 8px; border-radius: 4px; cursor: pointer; color: #555; margin-bottom: 2px; }
.sgls-cat-item--all:hover { background: #eef2ee; color: #111; }
.sgls-cat-item--active { color: #1a4d2e !important; font-weight: 600; }
.sgls-cat-group { margin-bottom: 2px; }
.sgls-cat-parent { display: flex; align-items: center; justify-content: space-between; padding: 5px 8px; border-radius: 4px; cursor: pointer; color: #333; font-weight: 500; }
.sgls-cat-parent:hover { background: #eef2ee; }
.sgls-cat-parent__toggle { font-size: 10px; color: #aaa; transition: transform 0.15s; flex-shrink: 0; margin-left: 4px; cursor: pointer; }
.sgls-cat-group--open > .sgls-cat-parent .sgls-cat-parent__toggle,
.sgls-cat-l2-group.sgls-cat-group--open > .sgls-cat-l2 .sgls-cat-parent__toggle { transform: rotate(90deg); }
.sgls-cat-children { display: none; padding-left: 10px; margin-top: 2px; }
.sgls-cat-group--open > .sgls-cat-children { display: block; }
.sgls-cat-l2-group { margin-bottom: 1px; }
.sgls-cat-l2 { display: flex; align-items: center; justify-content: space-between; padding: 4px 8px; border-radius: 4px; cursor: pointer; color: #555; font-size: 0.85rem; }
.sgls-cat-l2:hover { background: #eef2ee; color: #111; }
.sgls-cat-l3-list { padding-left: 10px; }
.sgls-cat-l3 { padding: 3px 8px; border-radius: 4px; cursor: pointer; color: #777; font-size: 0.82rem; }
.sgls-cat-l3:hover { background: #eef2ee; color: #111; }

/* Scheme filter */
.sgls-scheme-options { display: flex; flex-direction: column; gap: 4px; }
.sgls-scheme-opt { padding: 6px 10px; border-radius: 4px; font-size: 0.85rem; cursor: pointer; color: #555; border: 1px solid transparent; }
.sgls-scheme-opt:hover { background: #eef2ee; }
.sgls-scheme-opt--active { background: #e8f5e9; color: #1b5e20; font-weight: 600; border-color: #a5d6a7; }

/* Reset button */
.sgls-filter-reset-btn { width: 100%; padding: 7px; background: transparent; border: 1px solid #ccc; border-radius: 4px; font-size: 0.82rem; color: #888; cursor: pointer; font-family: inherit; }
.sgls-filter-reset-btn:hover { border-color: #999; color: #333; }

/* Results */
.sgls-dir-results-wrap { min-height: 400px; }
#sgls-product-results.sgls-loading { opacity: 0.4; pointer-events: none; transition: opacity 0.2s; }
.sgls-results-summary { font-size: 0.85rem; color: #888; margin-bottom: 1rem; min-height: 1.2em; }

/* Product card grid */
.sgls-product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1.25rem; }
.sgls-product-card { background: #fff; border: 1px solid #e5e5e0; border-radius: 8px; overflow: hidden; transition: box-shadow 0.15s, transform 0.15s; }
.sgls-product-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,0.08); transform: translateY(-2px); }
.sgls-product-card__link { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit; }
.sgls-product-card__img { width: 100%; height: 140px; overflow: hidden; background: #f0f4f0; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.sgls-product-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sgls-product-card__no-img { font-size: 0.75rem; color: #bbb; }
.sgls-product-card__body { padding: 12px 14px 8px; flex: 1; }
.sgls-product-card__badges { display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 6px; }
.sgls-product-card__cat { font-size: 0.7rem; background: #f0f4f0; color: #555; padding: 1px 6px; border-radius: 10px; font-weight: 500; }
.sgls-product-card__scheme { font-size: 0.7rem; background: #e8f5e9; color: #2e7d32; padding: 1px 6px; border-radius: 10px; font-weight: 600; }
.sgls-product-card__scheme--enhanced { background: #e3f2fd; color: #0d47a1; }
.sgls-product-card__title { font-size: 0.92rem; font-weight: 600; color: #111; margin: 0 0 4px; line-height: 1.3; }
.sgls-product-card__licensee { font-size: 0.8rem; color: #555; margin: 0 0 3px; }
.sgls-product-card__cert { font-size: 0.75rem; color: #999; margin: 0; }
.sgls-product-card__footer { padding: 8px 14px 12px; border-top: 1px solid #f0f0ee; }
.sgls-product-card__view { font-size: 0.8rem; color: #1a6b44; font-weight: 600; }

/* No results */
.sgls-no-results { padding: 2rem; text-align: center; color: #888; background: #f9f9f7; border-radius: 6px; font-size: 0.92rem; }
.sgls-no-results a { color: #1a6b44; }

/* Pagination */
.sgls-pagination { display: flex; align-items: center; justify-content: center; gap: 4px; margin-top: 2rem; flex-wrap: wrap; }
.sgls-page-btn { padding: 6px 12px; border: 1px solid #ddd; border-radius: 4px; background: #fff; color: #333; font-size: 0.85rem; cursor: pointer; font-family: inherit; transition: background 0.1s; }
.sgls-page-btn:hover { background: #f0f4f0; }
.sgls-page-btn--active { background: #1a4d2e; color: #fff; border-color: #1a4d2e; }
.sgls-page-ellipsis { padding: 6px 4px; color: #aaa; font-size: 0.85rem; }

/* Directory responsive */
@media (max-width: 900px) {
    .sgls-dir-layout { grid-template-columns: 1fr; }
    .sgls-dir-sidebar { position: static; }
    .sgls-scheme-options { flex-direction: row; flex-wrap: wrap; }
}
@media (max-width: 600px) {
    .sgls-product-grid { grid-template-columns: 1fr 1fr; }
    .sgls-dir-title { font-size: 1.4rem; }
}
@media (max-width: 400px) {
    .sgls-product-grid { grid-template-columns: 1fr; }
}


/* ============================================================
   PRODUCT CATEGORY PAGE (individual)
   ============================================================ */

.sgls-cat-page-wrap { max-width: 1100px; margin: 0 auto; padding: 1.5rem 1.25rem 3rem; }

.sgls-cat-breadcrumb { display: flex; align-items: center; gap: 8px; font-size: 0.85rem; margin-bottom: 1.5rem; flex-wrap: wrap; }

/* Page header */
.sgls-cat-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; margin-bottom: 2rem; flex-wrap: wrap; }
.sgls-cat-title-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 4px; }
.sgls-cat-title-row .sgls-cat-title { margin: 0; }
.sgls-cat-title { font-size: 2rem; font-weight: 700; margin: 0 0 0.4rem; line-height: 1.2; }
.sgls-cat-count__link { font-size: 0.92rem; color: #1a6b44; font-weight: 600; text-decoration: none; }
.sgls-cat-count__link:hover { text-decoration: underline; }
.sgls-cat-header__actions { display: flex; gap: 10px; flex-wrap: wrap; flex-shrink: 0; }

/* Body two-column */
.sgls-cat-body { display: grid; grid-template-columns: 1fr 300px; gap: 2.5rem; align-items: start; }

/* Scope block */
.sgls-cat-scope-block { margin-bottom: 2.5rem; }
.sgls-cat-scope-text { font-size: 0.95rem; color: #444; line-height: 1.7; margin-bottom: 1.25rem; }
.sgls-cat-scope-text p { margin: 0 0 0.75rem; }
.sgls-cat-scope-empty { font-size: 0.92rem; color: #888; font-style: italic; margin-bottom: 1.25rem; }
.sgls-cat-scope-empty a { color: #1a6b44; }
.sgls-cat-scope-contact { font-size: 0.88rem; color: #666; margin-top: 1rem; }
.sgls-cat-scope-contact a { color: #1a6b44; font-weight: 500; }
.sgls-cat-scope-contact a:hover { text-decoration: underline; }

/* Sub-categories */
.sgls-cat-children-block { margin-bottom: 2rem; }
.sgls-subcat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; }
.sgls-subcat-card { background: #fff; border: 1px solid #e5e5e0; border-radius: 8px; padding: 14px 16px; transition: box-shadow 0.15s; }
.sgls-subcat-card:hover { box-shadow: 0 3px 10px rgba(0,0,0,0.07); }
.sgls-subcat-card__header { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.sgls-subcat-card__name { font-size: 0.92rem; font-weight: 600; color: #111; text-decoration: none; }
.sgls-subcat-card__name:hover { color: #1a6b44; }
.sgls-subcat-card__count { font-size: 0.75rem; color: #1a6b44; font-weight: 600; white-space: nowrap; text-decoration: none; flex-shrink: 0; }
.sgls-subcat-card__count:hover { text-decoration: underline; }
.sgls-subcat-card__count--none { color: #bbb; font-weight: 400; }
.sgls-subcat-card__desc { font-size: 0.82rem; color: #777; margin: 0 0 8px; line-height: 1.5; }
.sgls-subcat-card__grandchildren { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.sgls-subcat-card__gc-tag { font-size: 0.72rem; background: #f0f4f0; color: #555; padding: 2px 7px; border-radius: 10px; text-decoration: none; transition: background 0.1s; }
.sgls-subcat-card__gc-tag:hover { background: #d4e8d4; color: #1a4d2e; }

/* Right sidebar */
.sgls-cat-sidebar { position: sticky; top: 1.5rem; display: flex; flex-direction: column; gap: 1rem; }
.sgls-cta-box { background: #1a4d2e; border-radius: 8px; padding: 1.25rem; color: #fff; text-align: center; }
.sgls-cta-box__icon { font-size: 1.5rem; margin-bottom: 8px; color: #4ade80; }
.sgls-cta-box__title { font-size: 1rem; font-weight: 600; margin: 0 0 8px; color: #fff; }
.sgls-cta-box__text { font-size: 0.85rem; color: rgba(255,255,255,0.75); margin: 0 0 14px; line-height: 1.5; }
.sgls-cta-box .sgls-btn--secondary { background: #4ade80; color: #1a4d2e; border-color: #4ade80; width: 100%; text-align: center; display: block; margin-bottom: 8px; }
.sgls-cta-box .sgls-btn--secondary:hover { background: #22c55e; border-color: #22c55e; }
.sgls-cta-box__secondary-link { display: block; font-size: 0.82rem; color: rgba(255,255,255,0.65); text-decoration: none; margin-top: 6px; }
.sgls-cta-box__secondary-link:hover { color: #fff; }
.sgls-info-box { background: #f9f9f7; border: 1px solid #e5e5e0; border-radius: 8px; padding: 1rem 1.25rem; }
.sgls-info-box--green { background: #e8f5e9; border-color: #a5d6a7; }
.sgls-info-box__title { font-size: 0.88rem; font-weight: 600; color: #111; margin: 0 0 8px; }
.sgls-info-box__list { margin: 0 0 10px; padding: 0 0 0 16px; font-size: 0.82rem; color: #555; line-height: 1.8; }
.sgls-info-box__text { font-size: 0.85rem; color: #555; margin: 0 0 10px; line-height: 1.5; }
.sgls-info-box__link { font-size: 0.82rem; color: #1a6b44; font-weight: 600; text-decoration: none; }
.sgls-info-box__link:hover { text-decoration: underline; }
.sgls-info-box .sgls-btn--ghost { display: block; width: 100%; text-align: center; margin-top: 8px; }

/* Category page responsive */
@media (max-width: 860px) {
    .sgls-cat-body { grid-template-columns: 1fr; }
    .sgls-cat-sidebar { position: static; }
    .sgls-cat-header { flex-direction: column; gap: 1rem; }
    .sgls-cat-title { font-size: 1.5rem; }
}
@media (max-width: 500px) {
    .sgls-subcat-grid { grid-template-columns: 1fr; }
    .sgls-cat-header__actions { flex-direction: column; width: 100%; }
    .sgls-cat-header__actions .sgls-btn { text-align: center; }
}


/* ============================================================
   PRODUCT CATEGORIES INDEX PAGE
   ============================================================ */

.sgls-catindex-wrap { max-width: 1100px; margin: 0 auto; padding: 1.5rem 1.25rem 3rem; }
.sgls-catindex-header { margin-bottom: 1.75rem; }
.sgls-catindex-title { font-size: 2rem; font-weight: 700; margin: 0 0 0.5rem; }
.sgls-catindex-intro { font-size: 0.95rem; color: #555; max-width: 680px; line-height: 1.6; }

/* Stats bar */
.sgls-catindex-stats { display: flex; background: #1a4d2e; border-radius: 8px; margin-bottom: 2rem; overflow: hidden; }
.sgls-catindex-stat { flex: 1; padding: 14px 20px; border-right: 1px solid rgba(255,255,255,0.1); text-align: center; }
.sgls-catindex-stat:last-child { border-right: none; }
.sgls-catindex-stat__num { display: block; font-size: 1.3rem; font-weight: 700; color: #4ade80; margin-bottom: 2px; }
.sgls-catindex-stat__label { display: block; font-size: 0.75rem; color: rgba(255,255,255,0.65); }

/* Cards grid */
.sgls-catindex-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.25rem; margin-bottom: 2.5rem; }
.sgls-catindex-card { background: #fff; border: 1px solid #e5e5e0; border-radius: 10px; padding: 1.25rem; display: flex; flex-direction: column; gap: 10px; transition: box-shadow 0.15s, transform 0.15s; }
.sgls-catindex-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,0.07); transform: translateY(-2px); }
.sgls-catindex-card__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.sgls-catindex-card__name { font-size: 1rem; font-weight: 700; color: #111; text-decoration: none; line-height: 1.3; flex: 1; }
.sgls-catindex-card__name:hover { color: #1a6b44; }
.sgls-catindex-card__header-right { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.sgls-catindex-card__count { font-size: 0.75rem; background: #e8f5e9; color: #2e7d32; padding: 2px 8px; border-radius: 10px; font-weight: 600; white-space: nowrap; text-decoration: none; flex-shrink: 0; }
.sgls-catindex-card__count:hover { background: #c8e6c9; }
.sgls-catindex-card__count--empty { background: #f5f5f5; color: #aaa; font-weight: 400; }
.sgls-catindex-card__desc { font-size: 0.85rem; color: #666; line-height: 1.5; margin: 0; }
.sgls-catindex-card__subcats { display: flex; flex-wrap: wrap; gap: 5px; flex: 1; }
.sgls-catindex-card__tag { display: inline-flex; align-items: center; gap: 4px; font-size: 0.78rem; background: #f0f4f0; color: #444; padding: 3px 9px; border-radius: 12px; text-decoration: none; transition: background 0.1s, color 0.1s; border: 1px solid transparent; }
.sgls-catindex-card__tag:hover { background: #d4e8d4; color: #1a4d2e; border-color: #a5d6a7; }
.sgls-catindex-card__tag--empty { color: #aaa; background: #f9f9f9; }
.sgls-catindex-card__tag--empty:hover { background: #f0f0f0; color: #888; border-color: transparent; }
.sgls-catindex-card__tag-count { font-size: 0.7rem; background: #1a4d2e; color: #fff; padding: 0 5px; border-radius: 8px; font-weight: 600; line-height: 1.6; }
.sgls-catindex-card__footer { border-top: 1px solid #f0f0ee; padding-top: 10px; margin-top: auto; }
.sgls-catindex-card__link { font-size: 0.82rem; color: #1a6b44; font-weight: 600; text-decoration: none; }
.sgls-catindex-card__link:hover { text-decoration: underline; }
.sgls-catindex-empty { padding: 3rem; text-align: center; color: #888; background: #f9f9f7; border-radius: 8px; margin-bottom: 2rem; }

/* Bottom CTA */
.sgls-catindex-cta { background: #f9f9f7; border: 1px solid #e5e5e0; border-radius: 10px; padding: 1.75rem 2rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
.sgls-catindex-cta__text h2 { font-size: 1.1rem; font-weight: 600; color: #111; margin: 0 0 6px; }
.sgls-catindex-cta__text p { font-size: 0.88rem; color: #666; margin: 0; max-width: 500px; line-height: 1.6; }
.sgls-catindex-cta__actions { display: flex; gap: 10px; flex-shrink: 0; flex-wrap: wrap; }

/* Category index responsive */
@media (max-width: 768px) {
    .sgls-catindex-stats { flex-wrap: wrap; }
    .sgls-catindex-stat { flex: 1 1 50%; border-right: 1px solid rgba(255,255,255,0.1); border-bottom: 1px solid rgba(255,255,255,0.1); }
    .sgls-catindex-grid { grid-template-columns: 1fr; }
    .sgls-catindex-cta { flex-direction: column; gap: 1.25rem; }
    .sgls-catindex-cta__actions { width: 100%; }
    .sgls-catindex-cta__actions .sgls-btn { flex: 1; text-align: center; }
}
@media (max-width: 480px) {
    .sgls-catindex-title { font-size: 1.5rem; }
    .sgls-catindex-stat { flex: 1 1 100%; }
}


/* ============================================================
   FAQ PAGE
   ============================================================ */

.sgls-faq-wrap {
	max-width: 860px;
	margin: 0 auto;
	padding: 1.5rem 1.25rem 3rem;
}

/* Header */
.sgls-faq-header { margin-bottom: 2rem; }
.sgls-faq-title { font-size: 2rem; font-weight: 700; margin: 0 0 0.5rem; }
.sgls-faq-intro { font-size: 0.95rem; color: #555; margin: 0; line-height: 1.6; }
.sgls-faq-intro a { color: #1a6b44; font-weight: 500; }

/* Tab nav */
.sgls-faq-tabs {
	display: flex;
	gap: 0;
	border-bottom: 2px solid #e5e5e0;
	margin-bottom: 2rem;
}
.sgls-faq-tab {
	padding: 10px 24px;
	font-size: 0.95rem;
	font-weight: 600;
	border: none;
	background: none;
	color: #777;
	cursor: pointer;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	transition: color 0.15s, border-color 0.15s;
	font-family: inherit;
}
.sgls-faq-tab:hover { color: #333; }
.sgls-faq-tab--active { color: #1a4d2e; border-bottom-color: #1a4d2e; }

/* FAQ list */
.sgls-faq-list {
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* Individual FAQ item */
.sgls-faq-item {
	border-bottom: 1px solid #e5e5e0;
}
.sgls-faq-item:first-child {
	border-top: 1px solid #e5e5e0;
}

/* Question button */
.sgls-faq-question {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 0;
	background: none;
	border: none;
	text-align: left;
	font-size: 0.98rem;
	font-weight: 600;
	color: #111;
	cursor: pointer;
	font-family: inherit;
	transition: color 0.15s;
	line-height: 1.4;
}
.sgls-faq-question:hover { color: #1a4d2e; }
.sgls-faq-item--open .sgls-faq-question { color: #1a4d2e; }

.sgls-faq-icon {
	font-size: 1.3rem;
	font-weight: 400;
	color: #1a4d2e;
	flex-shrink: 0;
	line-height: 1;
	width: 20px;
	text-align: center;
}

/* Answer */
.sgls-faq-answer {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.25s ease, padding 0.25s ease;
	font-size: 0.92rem;
	color: #444;
	line-height: 1.7;
	padding-left: 0;
}
.sgls-faq-answer p { margin: 0 0 0.75rem; }
.sgls-faq-answer p:last-child { margin-bottom: 0; }
.sgls-faq-answer ul {
	margin: 0.5rem 0 0.75rem;
	padding-left: 1.25rem;
}
.sgls-faq-answer ul li { margin-bottom: 4px; }
.sgls-faq-answer a { color: #1a6b44; font-weight: 500; }
.sgls-faq-answer a:hover { text-decoration: underline; }

/* Still have questions CTA */
.sgls-faq-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	margin-top: 3rem;
	padding: 1.75rem 2rem;
	background: #f9f9f7;
	border: 1px solid #e5e5e0;
	border-radius: 10px;
	flex-wrap: wrap;
}
.sgls-faq-cta__text h2 {
	font-size: 1.1rem;
	font-weight: 600;
	color: #111;
	margin: 0 0 4px;
}
.sgls-faq-cta__text p {
	font-size: 0.88rem;
	color: #666;
	margin: 0;
	line-height: 1.5;
}

/* Responsive */
@media ( max-width: 600px ) {
	.sgls-faq-tab { padding: 8px 14px; font-size: 0.88rem; }
	.sgls-faq-question { font-size: 0.92rem; padding: 14px 0; }
	.sgls-faq-cta { flex-direction: column; gap: 1rem; }
	.sgls-faq-cta .sgls-btn { width: 100%; text-align: center; }
}

/* FAQ section headings (Application, Testing, Renewal etc.) */
.sgls-faq-section-heading {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: #1a4d2e;
	font-weight: 700;
	padding: 16px 0 6px;
	border-top: 2px solid #e8f5e9;
	margin-top: 8px;
}
.sgls-faq-section-heading:first-child { border-top: none; margin-top: 0; }

/* FAQ empty state */
.sgls-faq-empty {
	padding: 2rem;
	text-align: center;
	color: #888;
	background: #f9f9f7;
	border-radius: 6px;
	font-size: 0.92rem;
}


/* ============================================================
   HEADER & FOOTER
   ============================================================ */

/* ── Top utility bar ─────────────────────────────────────────── */
.sgls-topbar {
	background: #f0f7f2;
	border-bottom: 1px solid #d4e8d4;
}
.sgls-topbar__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 5px 1.25rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
}
.sgls-topbar__left,
.sgls-topbar__right {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.sgls-topbar a {
	font-size: 0.72rem;
	color: #2e7d32;
	text-decoration: none;
	font-weight: 500;
}
.sgls-topbar a:hover { text-decoration: underline; }
.sgls-topbar__divider {
	width: 1px;
	height: 11px;
	background: #a5d6a7;
	flex-shrink: 0;
}
.sgls-topbar__contact {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 0.72rem;
	color: #555;
}
.sgls-topbar__contact a {
	color: #2e7d32;
	text-decoration: none;
}
.sgls-topbar__contact a:hover { text-decoration: underline; }
.sgls-topbar__contact svg { flex-shrink: 0; }

/* ── Main header ─────────────────────────────────────────────── */
.sgls-header {
	background: #fff;
	border-bottom: 1px solid #e5e5e0;
	position: sticky;
	top: 0;
	z-index: 500;
	transition: box-shadow 0.2s;
}
.sgls-header--scrolled {
	box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}
.sgls-header__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1.25rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 68px;
	gap: 1rem;
	position: relative;
}

/* Logo */
.sgls-header__logo {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	flex-shrink: 0;
}
.sgls-header__logo-img {
	width: 52px;
	height: 52px;
	object-fit: contain;
	display: block;
}
.sgls-header__logo-text {
	display: flex;
	flex-direction: column;
}
.sgls-header__logo-name {
	font-size: 0.88rem;
	font-weight: 700;
	color: #111;
	line-height: 1.2;
	white-space: nowrap;
}
.sgls-header__logo-sub {
	font-size: 0.7rem;
	color: #999;
	white-space: nowrap;
}

/* Desktop nav */
.sgls-nav__list {
	display: flex;
	align-items: center;
	gap: 2px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.sgls-nav__link {
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 8px 11px;
	font-size: 0.82rem;
	font-weight: 500;
	color: #333;
	text-decoration: none;
	border-radius: 4px;
	white-space: nowrap;
	transition: color 0.15s, background 0.15s;
}
.sgls-nav__link:hover,
.sgls-nav__link--active { color: #2e7d32; background: #f0f7f2; }
.sgls-nav__arrow { flex-shrink: 0; transition: transform 0.15s; }

/* Dropdown */
.sgls-nav__dropdown {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	background: #fff;
	border: 0.5px solid #e5e5e0;
	border-top: 2px solid #2e7d32;
	border-radius: 0 0 6px 6px;
	min-width: 210px;
	box-shadow: 0 6px 20px rgba(0,0,0,0.08);
	padding: 6px 0;
	z-index: 600;
	display: none;
	list-style: none;
}
.sgls-nav__item--has-dropdown { position: relative; }
.sgls-nav__item--open .sgls-nav__dropdown { display: block; }
.sgls-nav__item--open .sgls-nav__arrow { transform: rotate(180deg); }
.sgls-nav__dropdown li a {
	display: block;
	padding: 7px 16px;
	font-size: 0.82rem;
	color: #333;
	text-decoration: none;
	transition: background 0.1s, color 0.1s;
}
.sgls-nav__dropdown li a:hover { background: #f0f7f2; color: #2e7d32; }
.sgls-nav__dropdown-divider {
	border-top: 0.5px solid #f0f0ee;
	margin: 4px 0;
}

/* Header actions */
.sgls-header__actions {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-shrink: 0;
}
.sgls-header__search-btn {
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0.5px solid #e5e5e0;
	border-radius: 4px;
	background: transparent;
	color: #555;
	cursor: pointer;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.sgls-header__search-btn:hover {
	background: #f0f7f2;
	color: #2e7d32;
	border-color: #a5d6a7;
}
.sgls-header__cta {
	background: #2e7d32;
	color: #fff;
	padding: 8px 16px;
	border-radius: 4px;
	font-size: 0.82rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.15s;
}
.sgls-header__cta:hover { background: #1b5e20; color: #fff; }

/* Hamburger */
.sgls-header__hamburger {
	display: none;
	flex-direction: column;
	gap: 5px;
	background: transparent;
	border: 0.5px solid #e5e5e0;
	border-radius: 4px;
	padding: 8px;
	cursor: pointer;
	width: 34px;
	height: 34px;
	align-items: center;
	justify-content: center;
}
.sgls-header__hamburger span {
	display: block;
	width: 16px;
	height: 1.5px;
	background: #333;
	transition: transform 0.2s, opacity 0.2s;
}
.sgls-header__hamburger--open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.sgls-header__hamburger--open span:nth-child(2) { opacity: 0; }
.sgls-header__hamburger--open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* Search bar */
.sgls-search-bar {
	display: none;
	border-top: 2px solid #2e7d32;
	border-bottom: 1px solid #e5e5e0;
	background: #fff;
}
.sgls-search-bar--open { display: block; }
.sgls-search-bar__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 12px 1.25rem;
}
.sgls-search-bar__inner form {
	display: flex;
	gap: 8px;
	align-items: center;
}
.sgls-search-bar__input {
	flex: 1;
	padding: 9px 14px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 0.92rem;
	font-family: inherit;
	color: #111;
}
.sgls-search-bar__input:focus {
	outline: none;
	border-color: #2e7d32;
	box-shadow: 0 0 0 2px rgba(46,125,50,0.15);
}
.sgls-search-bar__submit {
	padding: 9px 18px;
	background: #2e7d32;
	color: #fff;
	border: none;
	border-radius: 4px;
	font-size: 0.88rem;
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
}
.sgls-search-bar__submit:hover { background: #1b5e20; }
.sgls-search-bar__close {
	padding: 8px;
	background: transparent;
	border: none;
	color: #aaa;
	cursor: pointer;
	font-size: 1rem;
	font-family: inherit;
}
.sgls-search-bar__close:hover { color: #333; }

/* ── Trust bar ───────────────────────────────────────────────── */
.sgls-trust-bar {
	background: #388e3c;
	padding: 8px 1.25rem;
	overflow-x: auto;
}
.sgls-trust-bar__inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	flex-wrap: nowrap;
}
.sgls-trust-bar__item {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 0.78rem;
	color: rgba(255,255,255,0.92);
	font-weight: 500;
	white-space: nowrap;
	flex-shrink: 0;
}
.sgls-trust-bar__dot {
	width: 5px;
	height: 5px;
	background: #a5d6a7;
	border-radius: 50%;
	flex-shrink: 0;
}

/* ── Footer ──────────────────────────────────────────────────── */
.sgls-footer {
	background: #1a4d2e;
}
.sgls-footer__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 2.5rem 1.25rem 0;
}
.sgls-footer__grid {
	display: grid;
	grid-template-columns: 1.3fr 1fr 1.2fr;
	gap: 2.5rem;
	margin-bottom: 2rem;
}

/* Brand col */
.sgls-footer__sgls-logo {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}
.sgls-footer__logo-img {
	width: 44px;
	height: 44px;
	object-fit: contain;
	border-radius: 4px;
}
.sgls-footer__logo-name {
	font-size: 0.82rem;
	font-weight: 600;
	color: #fff;
	line-height: 1.4;
}
.sgls-footer__desc {
	font-size: 0.78rem;
	color: rgba(255,255,255,0.55);
	line-height: 1.65;
	margin-bottom: 14px;
}

/* SEC block */
.sgls-footer__sec-block {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	background: rgba(255,255,255,0.07);
	border: 0.5px solid rgba(255,255,255,0.14);
	border-radius: 6px;
	margin-bottom: 14px;
	text-decoration: none;
	transition: background 0.15s;
}
.sgls-footer__sec-block:hover { background: rgba(255,255,255,0.12); }
.sgls-footer__sec-mark {
	width: 30px;
	height: 30px;
	background: rgba(255,255,255,0.12);
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.7rem;
	font-weight: 700;
	color: rgba(255,255,255,0.7);
	flex-shrink: 0;
}
.sgls-footer__sec-text {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 1px;
}
.sgls-footer__sec-name {
	font-size: 0.78rem;
	color: rgba(255,255,255,0.8);
	font-weight: 600;
}
.sgls-footer__sec-url {
	font-size: 0.7rem;
	color: rgba(255,255,255,0.4);
}
.sgls-footer__sec-arrow {
	color: rgba(255,255,255,0.3);
	flex-shrink: 0;
}

.sgls-footer__badges {
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
}
.sgls-footer__badge {
	font-size: 0.68rem;
	background: rgba(255,255,255,0.08);
	color: rgba(255,255,255,0.6);
	padding: 2px 7px;
	border-radius: 8px;
	border: 0.5px solid rgba(255,255,255,0.12);
}

/* Links col */
.sgls-footer__col-heading {
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: rgba(255,255,255,0.4);
	font-weight: 700;
	margin: 0 0 10px;
}
.sgls-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
}
.sgls-footer__links li { margin-bottom: 6px; }
.sgls-footer__links li a {
	font-size: 0.82rem;
	color: rgba(255,255,255,0.65);
	text-decoration: none;
	transition: color 0.15s;
}
.sgls-footer__links li a:hover { color: #4ade80; }

/* Contact col */
.sgls-footer__contact-list {
	list-style: none;
	margin: 0 0 0 0;
	padding: 0;
}
.sgls-footer__contact-item {
	display: flex;
	align-items: flex-start;
	gap: 7px;
	font-size: 0.82rem;
	color: rgba(255,255,255,0.65);
	margin-bottom: 7px;
}
.sgls-footer__contact-item svg { flex-shrink: 0; margin-top: 1px; opacity: 0.45; }
.sgls-footer__contact-item a {
	color: rgba(255,255,255,0.65);
	text-decoration: none;
}
.sgls-footer__contact-item a:hover { color: #4ade80; }
.sgls-footer__contact-item--muted { color: rgba(255,255,255,0.35); font-size: 0.72rem; }

/* Verify */
.sgls-footer__verify { margin-top: 16px; padding-top: 16px; border-top: 0.5px solid rgba(255,255,255,0.1); }
.sgls-footer__verify-label {
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: rgba(255,255,255,0.4);
	font-weight: 700;
	margin: 0 0 7px;
}
.sgls-footer__verify-form { display: flex; gap: 5px; }
.sgls-footer__verify-input {
	flex: 1;
	padding: 7px 9px;
	background: rgba(255,255,255,0.08);
	border: 0.5px solid rgba(255,255,255,0.2);
	border-radius: 4px;
	font-size: 0.78rem;
	color: rgba(255,255,255,0.8);
	font-family: inherit;
}
.sgls-footer__verify-input::placeholder { color: rgba(255,255,255,0.3); }
.sgls-footer__verify-input:focus { outline: none; border-color: #4ade80; }
.sgls-footer__verify-btn {
	padding: 7px 12px;
	background: #4ade80;
	color: #1a4d2e;
	border: none;
	border-radius: 4px;
	font-size: 0.78rem;
	font-weight: 700;
	cursor: pointer;
	font-family: inherit;
}
.sgls-footer__verify-btn:hover { background: #22c55e; }

/* Bottom bar */
.sgls-footer__bottom {
	border-top: 0.5px solid rgba(255,255,255,0.1);
	padding: 14px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}
.sgls-footer__copy {
	font-size: 0.72rem;
	color: rgba(255,255,255,0.35);
	margin: 0;
}
.sgls-footer__bottom-nav { display: flex; gap: 16px; flex-wrap: wrap; }
.sgls-footer__bottom-nav a {
	font-size: 0.72rem;
	color: rgba(255,255,255,0.4);
	text-decoration: none;
}
.sgls-footer__bottom-nav a:hover { color: rgba(255,255,255,0.75); }

/* ── Responsive header & footer ──────────────────────────────── */
@media ( max-width: 960px ) {
	.sgls-header__hamburger { display: flex; }

	.sgls-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: #fff;
		border-bottom: 1px solid #e5e5e0;
		box-shadow: 0 4px 12px rgba(0,0,0,0.08);
		z-index: 600;
		padding: 8px 0 16px;
	}
	.sgls-nav--open { display: block; }
	.sgls-nav__list { flex-direction: column; gap: 0; padding: 0 1.25rem; }
	.sgls-nav__link { padding: 10px 0; border-radius: 0; border-bottom: 0.5px solid #f0f0ee; }
	.sgls-nav__link:hover { background: transparent; }
	.sgls-nav__dropdown { position: static; border: none; border-top: none; box-shadow: none; background: #f9f9f7; border-radius: 4px; margin: 4px 0; padding: 4px 0; }
	.sgls-nav__item--open .sgls-nav__dropdown { display: block; }
	.sgls-nav__item--open .sgls-nav__arrow { transform: rotate(180deg); }

	.sgls-header__logo-sub { display: none; }
	.sgls-header__logo-name { font-size: 0.82rem; }
}

@media ( max-width: 768px ) {
	.sgls-topbar__left { display: none; }
	.sgls-trust-bar__inner { justify-content: flex-start; }
	.sgls-footer__grid { grid-template-columns: 1fr; gap: 1.75rem; }
	.sgls-footer__bottom { flex-direction: column; align-items: flex-start; gap: 8px; }
}

@media ( max-width: 480px ) {
	.sgls-header__logo-text { display: none; }
	.sgls-header__logo-img { width: 40px; height: 40px; }
}


/* ============================================================
   HOMEPAGE SECTIONS
   ============================================================ */

/* Shared section labels */
.sgls-home-section-label {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: #888;
	font-weight: 700;
	margin-bottom: 6px;
}
.sgls-home-section-title {
	font-size: 1.5rem;
	font-weight: 700;
	color: #111;
	margin: 0 0 1.25rem;
}

/* ── Hero ────────────────────────────────────────────────────── */
.sgls-hero {
	position: relative;
	background-color: #1a4d2e;
	background-size: cover;
	background-position: center;
	padding: 64px 1.25rem;
	text-align: center;
	overflow: hidden;
}
.sgls-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		135deg,
		rgba(26,77,46,0.88) 0%,
		rgba(26,77,46,0.72) 100%
	);
}
.sgls-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 640px;
	margin: 0 auto;
}
.sgls-hero__badge {
	display: inline-block;
	background: rgba(255,255,255,0.15);
	border: 1px solid rgba(255,255,255,0.25);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 600;
	padding: 4px 12px;
	border-radius: 20px;
	margin-bottom: 14px;
}
.sgls-hero__headline {
	font-size: 2.4rem;
	font-weight: 700;
	color: #fff;
	margin: 0 0 12px;
	line-height: 1.15;
}
.sgls-hero__subline {
	font-size: 1rem;
	color: rgba(255,255,255,0.82);
	margin: 0 0 24px;
	line-height: 1.6;
	max-width: 520px;
	margin-left: auto;
	margin-right: auto;
}
.sgls-hero__btns {
	display: flex;
	gap: 10px;
	justify-content: center;
	flex-wrap: wrap;
}
.sgls-hero__btn {
	padding: 10px 22px;
	border-radius: 4px;
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.15s, color 0.15s;
}
.sgls-hero__btn--primary {
	background: #4ade80;
	color: #1a4d2e;
}
.sgls-hero__btn--primary:hover { background: #22c55e; color: #1a4d2e; }
.sgls-hero__btn--secondary {
	background: rgba(255,255,255,0.12);
	border: 1px solid rgba(255,255,255,0.3);
	color: #fff;
}
.sgls-hero__btn--secondary:hover { background: rgba(255,255,255,0.2); color: #fff; }

/* ── Audience paths ──────────────────────────────────────────── */
.sgls-audience {
	padding: 2.5rem 1.25rem;
	background: #fff;
	max-width: 1100px;
	margin: 0 auto;
}
.sgls-audience__grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1.25rem;
}
.sgls-audience__card {
	background: #f9f9f7;
	border: 1px solid #e5e5e0;
	border-top: 3px solid #2e7d32;
	border-radius: 8px;
	padding: 1.25rem;
	transition: box-shadow 0.15s, transform 0.15s;
}
.sgls-audience__card:hover {
	box-shadow: 0 4px 14px rgba(0,0,0,0.07);
	transform: translateY(-2px);
}
.sgls-audience__card--featured {
	background: #1a4d2e;
	border-color: #1a4d2e;
}
.sgls-audience__icon { font-size: 1.75rem; margin-bottom: 10px; }
.sgls-audience__title {
	font-size: 1rem;
	font-weight: 700;
	color: #111;
	margin: 0 0 6px;
}
.sgls-audience__card--featured .sgls-audience__title { color: #fff; }
.sgls-audience__desc {
	font-size: 0.88rem;
	color: #666;
	line-height: 1.6;
	margin: 0 0 14px;
}
.sgls-audience__card--featured .sgls-audience__desc { color: rgba(255,255,255,0.75); }
.sgls-audience__link {
	font-size: 0.88rem;
	color: #2e7d32;
	font-weight: 600;
	text-decoration: none;
}
.sgls-audience__card--featured .sgls-audience__link { color: #4ade80; }
.sgls-audience__link:hover { text-decoration: underline; }

/* ── What is SGLS ────────────────────────────────────────────── */
.sgls-about {
	background: #fff;
	padding: 2.5rem 1.25rem;
	border-top: 1px solid #e5e5e0;
}
.sgls-about__grid {
	max-width: 1100px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 3rem;
	align-items: center;
}
.sgls-about__text p {
	font-size: 0.95rem;
	color: #555;
	line-height: 1.7;
	margin-bottom: 0.75rem;
}
.sgls-about__creds {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 1rem 0;
}
.sgls-about__cred {
	font-size: 0.78rem;
	background: #e8f5e9;
	color: #2e7d32;
	padding: 3px 10px;
	border-radius: 10px;
	font-weight: 600;
}
.sgls-about__link {
	font-size: 0.88rem;
	color: #2e7d32;
	font-weight: 600;
	text-decoration: none;
}
.sgls-about__link:hover { text-decoration: underline; }
.sgls-about__stats {
	background: #f0f7f2;
	border: 1px solid #d4e8d4;
	border-radius: 10px;
	padding: 1.5rem;
	text-align: center;
}
.sgls-about__stat { padding: 0.75rem 0; }
.sgls-about__stat-num {
	display: block;
	font-size: 2rem;
	font-weight: 700;
	color: #2e7d32;
	line-height: 1;
	margin-bottom: 4px;
}
.sgls-about__stat-label {
	font-size: 0.78rem;
	color: #888;
}
.sgls-about__stat-divider {
	border-top: 1px solid #d4e8d4;
	margin: 0;
}

/* ── Featured categories ─────────────────────────────────────── */
.sgls-home-cats {
	background: #f9f9f7;
	padding: 2.5rem 1.25rem;
	border-top: 1px solid #e5e5e0;
}
.sgls-home-cats__header {
	max-width: 1100px;
	margin: 0 auto 1.25rem;
}
.sgls-home-cats__grid {
	max-width: 1100px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	margin-bottom: 1.25rem;
}
.sgls-home-cat-card {
	background: #fff;
	border: 1px solid #e5e5e0;
	border-radius: 8px;
	padding: 14px 16px;
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	gap: 6px;
	transition: box-shadow 0.15s, transform 0.15s;
}
.sgls-home-cat-card:hover {
	box-shadow: 0 3px 12px rgba(0,0,0,0.07);
	transform: translateY(-1px);
}
.sgls-home-cat-card__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
}
.sgls-home-cat-card__name {
	font-size: 0.92rem;
	font-weight: 700;
	color: #111;
	line-height: 1.3;
	flex: 1;
}
.sgls-home-cat-card__right {
	display: flex;
	align-items: center;
	gap: 5px;
	flex-shrink: 0;
}
.sgls-home-cat-card__count {
	font-size: 0.72rem;
	background: #e8f5e9;
	color: #2e7d32;
	padding: 2px 7px;
	border-radius: 8px;
	font-weight: 600;
	white-space: nowrap;
}
.sgls-home-cat-card__count--empty {
	background: #f5f5f5;
	color: #aaa;
	font-weight: 400;
}
.sgls-home-cat-card__desc {
	font-size: 0.82rem;
	color: #888;
	margin: 0;
	line-height: 1.5;
}
.sgls-home-cats__footer {
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
}
.sgls-home-cats__all-link {
	font-size: 0.88rem;
	color: #2e7d32;
	font-weight: 600;
	text-decoration: none;
}
.sgls-home-cats__all-link:hover { text-decoration: underline; }

/* ── News section ────────────────────────────────────────────── */
.sgls-home-news {
	background: #fff;
	padding: 2.5rem 1.25rem;
	border-top: 1px solid #e5e5e0;
}
.sgls-home-news__header {
	max-width: 1100px;
	margin: 0 auto 1.25rem;
}
.sgls-home-news__grid {
	max-width: 1100px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
}
.sgls-home-news-card {
	display: flex;
	flex-direction: column;
	background: #f9f9f7;
	border: 1px solid #e5e5e0;
	border-radius: 8px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.15s, transform 0.15s;
}
.sgls-home-news-card:hover {
	box-shadow: 0 4px 14px rgba(0,0,0,0.08);
	transform: translateY(-2px);
}
.sgls-home-news-card__img {
	height: 140px;
	overflow: hidden;
}
.sgls-home-news-card__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.sgls-home-news-card__img--placeholder {
	background: #f0f7f2;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2rem;
}
.sgls-home-news-card__body {
	padding: 14px 16px;
	flex: 1;
}
.sgls-home-news-card__date {
	font-size: 0.72rem;
	color: #aaa;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 6px;
}
.sgls-home-news-card__title {
	font-size: 0.92rem;
	font-weight: 700;
	color: #111;
	line-height: 1.4;
	margin: 0 0 6px;
}
.sgls-home-news-card__excerpt {
	font-size: 0.82rem;
	color: #777;
	line-height: 1.5;
	margin: 0;
}
.sgls-home-news-card__footer {
	padding: 8px 16px 12px;
	font-size: 0.8rem;
	color: #2e7d32;
	font-weight: 600;
}

/* ── Bottom CTA ──────────────────────────────────────────────── */
.sgls-bottom-cta {
	background: #1a4d2e;
	padding: 3rem 1.25rem;
	text-align: center;
}
.sgls-bottom-cta__headline {
	font-size: 1.75rem;
	font-weight: 700;
	color: #fff;
	margin: 0 0 10px;
}
.sgls-bottom-cta__subline {
	font-size: 0.95rem;
	color: rgba(255,255,255,0.75);
	margin: 0 0 24px;
	max-width: 520px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.6;
}
.sgls-bottom-cta__btn {
	display: inline-block;
	background: #4ade80;
	color: #1a4d2e;
	padding: 12px 28px;
	border-radius: 4px;
	font-size: 0.95rem;
	font-weight: 700;
	text-decoration: none;
}
.sgls-bottom-cta__btn:hover { background: #22c55e; color: #1a4d2e; }

/* ── Homepage responsive ─────────────────────────────────────── */
@media ( max-width: 860px ) {
	.sgls-hero__headline { font-size: 1.8rem; }
	.sgls-audience__grid { grid-template-columns: 1fr; }
	.sgls-about__grid { grid-template-columns: 1fr; }
	.sgls-about__stats { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0; }
	.sgls-about__stat-divider { display: none; }
	.sgls-home-cats__grid { grid-template-columns: 1fr 1fr; }
	.sgls-home-news__grid { grid-template-columns: 1fr; }
}
@media ( max-width: 500px ) {
	.sgls-hero__headline { font-size: 1.5rem; }
	.sgls-hero__btns { flex-direction: column; }
	.sgls-home-cats__grid { grid-template-columns: 1fr; }
	.sgls-about__stats { grid-template-columns: 1fr; }
	.sgls-bottom-cta__headline { font-size: 1.4rem; }
}
