/* Global South Connections Core - fallback styles when the paired theme is not active. */

.sac-field { margin: 14px 0; }

.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.grid-3[style*="--grid-min"] { grid-template-columns: repeat(auto-fill, minmax(var(--grid-min), 1fr)); }

.gsc-card { border: 1px solid #e2ddd0; border-radius: 14px; background: #fff; overflow: hidden; }
.card-body { padding: 20px; text-align: center; }
.card-title { margin: 0 0 6px; font-size: 1.15rem; }
.card-title a { text-decoration: none; }
.card-kicker { display: block; font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; color: #A8861B; margin-bottom: 6px; }
.card-meta { display: flex; gap: 8px; justify-content: center; font-size: 0.8rem; color: #66707C; margin-top: 8px; }
.person-avatar, .org-logo { display: flex; justify-content: center; padding-top: 22px; }
.monogram { width: 84px; height: 84px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #0C1B2A; color: #C9A227; font-size: 1.6rem; font-weight: 700; font-family: Georgia, serif; }
.mono-photo { width: 84px; height: 84px; object-fit: cover; border-radius: 50%; }
.pill { display: inline-block; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 5px 10px; border-radius: 3px; background: rgba(201,162,39,.14); color: #A8861B; }

/* Newsletter + forms */
.gsc-newsletter { background: #0C1B2A; padding: 70px 0; text-align: center; color: #fff; }
.gsc-newsletter h2 { color: #fff; }
.kicker { font-size: 0.7rem; letter-spacing: 0.24em; text-transform: uppercase; color: #C9A227; font-weight: 700; }
.section-sub { color: rgba(255,255,255,.72); max-width: 620px; margin: 14px auto; }
.nl-form, .reg-form { max-width: 620px; margin: 26px auto 0; text-align: left; }
.nl-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.nl-row--single { grid-template-columns: 1fr; }
.gsc-label { display: block; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #66707C; margin-bottom: 6px; }
.gsc-input, .gsc-select, .gsc-textarea { width: 100%; padding: 12px 14px; border: 1px solid #e2ddd0; border-radius: 4px; font-size: 0.95rem; box-sizing: border-box; }
.gsc-newsletter .gsc-input { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.2); color: #fff; }
.nl-interests { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin: 18px 0 22px; }
.nl-check input { margin-right: 6px; }
.nl-submit { display: flex; justify-content: center; align-items: center; text-align: center; margin-top: 8px; }
.nl-submit .btn { width: auto; margin-inline: auto; }
.gsc-msg { margin-top: 14px; padding: 12px 16px; border-radius: 4px; font-size: 0.9rem; display: none; text-align: center; }
.gsc-msg--ok { display: block; background: #EEF5EC; color: #2C5E2E; }
.gsc-msg--err { display: block; background: #FBEFEA; color: #A03E22; }
.gsc-center { text-align: center; }
.gsc-note { color: #66707C; font-size: 0.85rem; }
.btn { display: inline-block; padding: 14px 28px; border: 0; border-radius: 4px; background: #C9A227; color: #1A1505; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.78rem; cursor: pointer; }
.btn:hover { background: #A8861B; }
.ev-date-inline { font-weight: 700; }

@media (max-width: 800px) {
        .grid-3 { grid-template-columns: 1fr; }
        .nl-row { grid-template-columns: 1fr; }
}
/* Commerce fallback styles (standalone plugin usage) */
.plan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin: 0 0 40px; }
.plan-card { position: relative; background: #fff; border: 1px solid #e2ddd0; border-radius: 14px; padding: 34px 24px 28px; text-align: center; }
.plan-card--featured { border: 2px solid #C9A227; }
.plan-flag { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: #C9A227; color: #1A1505; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; }
.plan-name { margin: 0 0 8px; font-size: 1.3rem; }
.plan-price { margin: 0 0 16px; }
.plan-price strong { font-size: 2rem; }
.plan-perks { list-style: none; margin: 0 0 22px; padding: 0; text-align: center; font-size: .92rem; color: #555; }
.plan-perks li { display: flex; align-items: center; justify-content: center; margin-bottom: 8px; }
.plan-perks li::before { content: ""; width: 7px; height: 7px; background: #C9A227; transform: rotate(45deg); flex: none; margin-right: 10px; }
.pay-methods { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 20px; margin-bottom: 10px; }
.pay-method { display: inline-flex; align-items: center; gap: 6px; }
.pay-method input { width: 16px; height: 16px; margin: 0; flex: none; }
.pay-panel { max-width: 620px; margin: 24px auto; background: #fff; border: 1px solid #e2ddd0; border-left: 4px solid #C9A227; border-radius: 14px; padding: 26px 28px; text-align: center; }
.pay-thanks { font-family: var(--gsc-serif, Georgia, serif); font-size: 1.3rem; color: #0C1B2A; margin: 0 0 8px; }
.pay-thanks-ref { font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #8a929c; margin: 0; }
.pay-instructions { font-size: .95rem; line-height: 1.7; color: #555; }
.pay-preview { margin-top: 2px; }
.pay-preview .pay-instructions { background: #FAF7F0; border: 1px solid #eee7d8; border-radius: 8px; padding: 14px 18px; max-width: 560px; margin: 0 auto; }
.pay-preview .pay-instructions .btn { margin-bottom: 8px; }
.gsc-hp { display: none; }
@media (max-width: 980px) { .plan-grid { grid-template-columns: 1fr; } }

/* Member Dashboard ([gsc_member_dashboard]) */
.gsc-mbd { max-width: none; margin: 0 auto; background: #fff; border: 1px solid #e2ddd0; border-radius: 16px; padding: 52px 52px 44px; box-shadow: 0 18px 44px rgba(12, 27, 42, .07); text-align: center; }
/* The paired theme left-aligns .entry-content p at (0,1,1); re-center every
   dashboard paragraph at (0,2,1) so tables, cards and empty states align. */
.entry-content .gsc-mbd p, .gsc-mbd p { text-align: center; }
.gsc-mbd--guest { text-align: center; }
.gsc-mbd-head { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 3px; margin-bottom: 6px; }
.gsc-mbd-kicker { margin: 0; font-size: .68rem; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; color: #A8861B; }
.gsc-mbd-title { margin: 0; font-family: var(--gsc-serif, Georgia, serif); font-size: clamp(1.5rem, 2.6vw, 1.95rem); line-height: 1.15; color: #0C1B2A; max-width: 100%; overflow-wrap: anywhere; word-break: break-word; }
.gsc-mbd-head-cta { margin-top: 17px; }
/* Dashboard menu: a real section menu, NOT sticky on any screen - a plain
   pill bar on desktop/tablets and stacked full-width rows on phones. The
   My Products / My Postings / My Orders sections are accordions that stay
   closed until clicked (from this menu or their own title row); the open
   section's menu item carries gsc-mbd-nav-on. No smooth scrolling anywhere. */
.gsc-mbd-nav { display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: 4px; margin: 28px auto 36px; padding: 7px; background: #fff; border: 1px solid #e2ddd0; border-radius: 999px; box-shadow: 0 12px 30px rgba(12, 27, 42, .08); width: fit-content; max-width: 100%; }
.gsc-mbd-nav a { display: inline-block; padding: 10px 18px; border-radius: 999px; color: #0C1B2A; font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; transition: background .2s ease, color .2s ease; }
.gsc-mbd-nav a:hover { background: #F3E9CF; color: #8a6116; }
.gsc-mbd-nav a.gsc-mbd-nav-on { background: #0C1B2A; color: #fff; }
.gsc-mbd-nav .gsc-mbd-nav-out { color: #A03E22; }
.gsc-mbd-nav .gsc-mbd-nav-out:hover { background: #F9E3DC; color: #A03E22; }
.gsc-mbd-section { margin-bottom: 42px; scroll-margin-top: 96px; }
.gsc-mbd-h3 { text-align: center; font-family: var(--gsc-serif, Georgia, serif); font-size: 1.3rem; margin: 0 0 16px; color: #0C1B2A; }
/* Accordion title row: the whole title is the click target. */
.gsc-mbd-sec-toggle { appearance: none; background: none; border: 0; padding: 0; margin: 0; font: inherit; color: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; width: 100%; display: flex; align-items: center; justify-content: center; gap: 10px; }
.gsc-mbd-sec-toggle:focus-visible { outline: 2px solid #C9A227; outline-offset: 4px; border-radius: 4px; }
.gsc-mbd-chev { width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .18s ease; flex: 0 0 auto; }
.gsc-mbd-sec--open .gsc-mbd-chev { transform: rotate(225deg); }
.gsc-mbd-sec-body[hidden] { display: none; }
.gsc-mbd-stats { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.gsc-mbd-stat { background: #FDFCF8; border: 1px solid #e2ddd0; border-top: 3px solid #C9A227; border-radius: 12px; padding: 24px 14px 22px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 6px; transition: transform .2s ease, box-shadow .2s ease; }
.gsc-mbd-stat:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(12, 27, 42, .08); }
.gsc-mbd-stat-label { font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #5b6470; }
.gsc-mbd-stat strong { font-family: var(--gsc-serif, Georgia, serif); font-size: 1.3rem; color: #0C1B2A; line-height: 1.25; }
@media (max-width: 1100px) { .gsc-mbd-stats { grid-template-columns: repeat(3, 1fr); gap: 16px; } .gsc-mbd-stat { padding: 28px 18px 26px; } }
.gsc-mbd-tablewrap { overflow-x: auto; background: #fff; border: 1px solid #e2ddd0; border-radius: 12px; box-shadow: 0 8px 20px rgba(12, 27, 42, .04); }
.gsc-mbd-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.gsc-mbd-table th { text-align: center; font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #5b6470; padding: 14px 16px; border-bottom: 1px solid #e2ddd0; background: #FAF7F0; white-space: nowrap; }
.gsc-mbd-table td { padding: 13px 16px; border-bottom: 1px solid #f1eee6; color: #333; text-align: center; }
.gsc-mbd-table tr:last-child td { border-bottom: 0; }
.gsc-mbd-table a { color: #0C1B2A; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.gsc-mbd-table a:hover { color: #A8861B; }
/* Phones and small tablets: every order/listing renders in full as a stacked
   label/value card - no horizontal table scrolling left or right. */
@media (max-width: 800px) {
        .gsc-mbd-tablewrap { overflow-x: visible; }
        .gsc-mbd-table, .gsc-mbd-table tbody, .gsc-mbd-table tr, .gsc-mbd-table td { display: block; width: 100%; }
        .gsc-mbd-table thead { display: none; }
        .gsc-mbd-table tr { padding: 12px 8px 10px; border-bottom: 1px solid #f1eee6; }
        .gsc-mbd-table tr:last-child { border-bottom: 0; }
        .gsc-mbd-table td { padding: 4px 8px 5px; border-bottom: 0; }
        .gsc-mbd-table td::before { content: attr(data-label); display: block; font-size: .62rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #5b6470; margin: 0 0 2px; }
        .gsc-mbd-table td:empty { display: none; }
}
.gsc-mbd-pill { display: inline-block; font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; background: #eee; color: #333; }
.gsc-mbd-pill--ok { background: #EEF5EC; color: #2C5E2E; }
.gsc-mbd-pill--wait { background: #FBF3DF; color: #8a6116; }
.gsc-mbd-empty { color: #5b6470; text-align: center; max-width: 560px; margin: 0 auto; }
.gsc-mbd-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: center; }
.gsc-mbd .btn--gold, .gsc-auth .btn--gold { background: #C9A227; color: #1A1505; }
.gsc-mbd .btn--gold:hover, .gsc-auth .btn--gold:hover { background: #A8861B; color: #1A1505; }
.gsc-mbd .btn--outline, .gsc-auth .btn--outline { background: #fff; border: 1px solid #0C1B2A; color: #0C1B2A; }
.gsc-mbd .btn--outline:hover, .gsc-auth .btn--outline:hover { background: #0C1B2A; color: #fff; }
@media (min-width: 901px) { .gsc-mbd-actions { flex-wrap: nowrap; } }
@media (max-width: 900px) { .gsc-mbd { padding: 38px 26px 30px; } .gsc-mbd-stats { grid-template-columns: repeat(3, 1fr); } .gsc-mbd-stat { padding: 28px 18px 26px; } }
@media (max-width: 560px) { .gsc-mbd { padding: 28px 14px 24px; border-radius: 12px; } .gsc-mbd-stats { grid-template-columns: repeat(2, 1fr); } .gsc-mbd-stat { padding: 26px 14px 24px; }
        /* Phones: the menu becomes a stacked full-width list - every section one tappable row. */
        .gsc-mbd-nav { position: static; display: grid; grid-template-columns: 1fr; gap: 2px; width: 100%; margin: 22px 0 30px; padding: 6px; border-radius: 16px; }
        .gsc-mbd-nav a { padding: 14px 10px; border-radius: 10px; text-align: center; }
        .gsc-mbd-nav a:last-child { margin-bottom: 0; }
}

/* Centered heads, banners and status panels inside entry content: the
   paragraph left-align many themes apply to .entry-content p (the paired
   theme does) must not beat these zones. Scoped harder than (0,1,1). */
.entry-content .section-head > p,
.entry-content .gsc-pass-active > p,
.entry-content .gsc-member-banner > p,
.entry-content .pay-panel p,
.entry-content .gsc-pass-switch > summary { text-align: center; }

/* Neutralise the shortcodes' inner containers inside entry content (their
   host page already provides one) so the card grids span full width. */
.entry-content .gsc-membership > .gsc-container,
.entry-content .gsc-applypass > .gsc-container,
.entry-content .gsc-posting > .gsc-container { width: 100%; }

/* Chromeless plan switcher (see paired-theme sections.css). */

/* Sign In / Create Account ([gsc_auth]) */
.gsc-auth { max-width: none; }
.gsc-auth--single { max-width: 540px; margin-inline: auto; }
.gsc-auth-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; }
.gsc-auth-card { background: #fff; border: 1px solid #e2ddd0; border-top: 3px solid #C9A227; border-radius: 14px; padding: 34px 32px 28px; box-shadow: 0 14px 34px rgba(12, 27, 42, .06); }
.gsc-auth-head { text-align: center; margin-bottom: 20px; }
.gsc-auth-kicker { margin: 0 0 6px; font-size: .66rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: #A8861B; }
.gsc-auth-title { margin: 0 0 8px; font-family: var(--gsc-serif, Georgia, serif); font-size: 1.35rem; line-height: 1.2; color: #0C1B2A; max-width: 100%; overflow-wrap: anywhere; word-break: break-word; }
.gsc-auth-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 480px) { .gsc-auth-row { grid-template-columns: 1fr; gap: 0; } }
.gsc-auth-card .gsc-auth-notice { margin-bottom: 18px; }
.gsc-auth-field { display: block; margin-bottom: 14px; text-align: left; }
.gsc-auth-field span { display: block; font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #5b6470; margin-bottom: 6px; }
.gsc-auth-field input { width: 100%; height: 46px; border: 1px solid #d9d3c4; border-radius: 8px; padding: 0 14px; font-size: .95rem; color: #0C1B2A; background: #FDFCF8; }
.gsc-auth-field input:focus { outline: none; border-color: #C9A227; box-shadow: 0 0 0 3px rgba(201, 162, 39, .16); }
.gsc-auth-remember { display: flex; align-items: center; gap: 8px; font-size: .85rem; color: #444; margin: 2px 0 16px; }
.gsc-auth-remember input { accent-color: #C9A227; width: 16px; height: 16px; }
.gsc-auth-submit { width: 100%; }
.gsc-auth-meta, .entry-content .gsc-auth-meta { text-align: center; font-size: .82rem; color: #8a929c; margin: 14px 0 0; line-height: 1.7; }
.gsc-auth-meta a { color: #0C1B2A; font-weight: 600; }
.gsc-auth-meta a:hover { color: #A8861B; }
.gsc-auth-notice { border-radius: 8px; padding: 12px 14px; font-size: .88rem; margin-bottom: 16px; text-align: center; }
.gsc-auth-notice--error { background: #FBEBE6; color: #8C2F1B; border: 1px solid #F0CFC5; }
.gsc-auth-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: center; margin-top: 18px; }
@media (max-width: 820px) { .gsc-auth-grid { grid-template-columns: 1fr; } .gsc-auth-card { padding: 28px 22px 24px; } }

/* Apply Pass: pay to apply + dashboard link card */
.pay-methods--center { justify-content: center; }
/* Centered payment-method label and M-Pesa phone field (label + input holder) */
.gsc-field--center { text-align: center; }
.gsc-field--center .gsc-input { text-align: center; }
.pkg-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin: 0 0 34px; }
.pkg-card { display: flex; flex-direction: column; align-items: center; }
.pkg-card .btn { margin-top: auto; }
.gsc-apply-gate .reg-form { margin-top: 0; }
/* Breathing room between the gate (its Check row included) and the
   archive back-button that follows it on singles. */
.gsc-apply-gate { margin-bottom: 30px; }
.gsc-apply-unlocked { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 26px 0 10px; }
.gsc-apply-unlocked[hidden] { display: none; }
.gsc-apply-check { max-width: 560px; margin: 26px auto 0; display: flex; flex-direction: column; gap: 10px; align-items: center; text-align: center; }
.gsc-apply-check-row { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; width: 100%; }
.gsc-apply-check-row .gsc-input { flex: 1 1 220px; }
.gsc-mbd-stat--link { color: inherit; text-decoration: none; }

/* Active Apply Pass holders: verified state + collapsed plan switcher.
   They never see the payment form again unless they open it themselves. */
.gsc-pass-active {
        border: 1.5px solid #C9A227; background: rgba(201, 162, 39, 0.12);
        border-radius: 14px; padding: 26px 28px; text-align: center; margin-bottom: 24px;
}
.gsc-pass-active-head { font-family: Georgia, 'Times New Roman', serif; font-size: 1.3rem; font-weight: 700; color: #0C1B2A; margin: 0 0 6px; }
.gsc-pass-active .gsc-apply-unlocked { margin: 16px 0 2px; }
.gsc-pass-switch {
        border: 0; background: transparent; padding: 4px 0 8px; margin-bottom: 10px;
}
.gsc-pass-switch > summary { cursor: pointer; font-weight: 700; font-size: 0.95rem; color: #0C1B2A; }
.gsc-pass-switch[open] > summary { margin-bottom: 18px; }

/* Active membership status banner (membership page + posting form). */
.gsc-member-banner {
        display: flex; flex-direction: column; align-items: center; gap: 6px;
        text-align: center; border: 1.5px solid #C9A227; background: rgba(201, 162, 39, 0.12);
        border-radius: 14px; padding: 18px 22px; margin: 0 0 30px;
}
.gsc-member-banner strong { color: #0C1B2A; font-size: 1.02rem; }
.gsc-member-banner span { font-size: 0.92rem; color: #66707C; max-width: 760px; }

/* Current plan marker on the membership pricing cards. */
.plan-current {
        display: inline-block; padding: 12px 24px; border-radius: 999px;
        border: 1.5px solid #C9A227; background: rgba(201, 162, 39, 0.12);
        color: #0C1B2A; font-weight: 700; font-size: 0.95rem;
}
@media (max-width: 900px) { .pkg-grid { grid-template-columns: 1fr; } }

/* Sign-in prompt for guests opening a gated opportunity/report. */
.gsc-pass-login { display: flex; flex-direction: column; align-items: center; gap: 6px; border: 1.5px solid #0C1B2A; background: #fff; border-radius: 14px; padding: 26px 28px; text-align: center; margin-bottom: 24px; }
.gsc-pass-login-head { font-family: Georgia, 'Times New Roman', serif; font-size: 1.3rem; font-weight: 700; color: #0C1B2A; margin: 0 0 6px; }
.gsc-pass-login .gsc-note { margin: 0 0 12px; }

/* Step 2 page: the intent question on its own page. */
.gsc-intent-step { max-width: 620px; margin: 0 auto; }
.gsc-intent-form { display: flex; flex-direction: column; align-items: stretch; }
.gsc-intent-form .gsc-auth-submit { margin-top: 4px; }
.gsc-intent-options { display: flex; flex-direction: column; gap: 14px; margin: 4px 0 22px; }
.gsc-intent-option { display: block; cursor: pointer; }
.gsc-intent-option input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.gsc-intent-card { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; background: #fff; border: 1px solid #E6E0D2; border-radius: 14px; padding: 24px 20px 22px; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.gsc-intent-option:hover .gsc-intent-card { border-color: #C9A227; background: #FDFCF8; }
.gsc-intent-dot { display: block; width: 20px; height: 20px; border-radius: 50%; border: 2px solid #CFC7B4; background: #fff; position: relative; transition: border-color .2s ease; }
.gsc-intent-option input:checked + .gsc-intent-card { border-color: #C9A227; background: #FCF8EC; box-shadow: 0 10px 24px rgba(201, 162, 39, .12); }
.gsc-intent-option input:checked + .gsc-intent-card .gsc-intent-dot { border-color: #C9A227; }
.gsc-intent-option input:checked + .gsc-intent-card .gsc-intent-dot::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: #C9A227; }
.gsc-intent-option input:focus-visible + .gsc-intent-card { outline: 2px solid #C9A227; outline-offset: 2px; }
.gsc-intent-text { display: block; font-size: .98rem; font-weight: 700; color: #0C1B2A; }

/* My Products cards on the member dashboard. */
.gsc-mbd-products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.gsc-mbd-product { background: #FDFCF8; border: 1px solid #e2ddd0; border-top: 3px solid #C9A227; border-radius: 12px; padding: 28px 26px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.gsc-mbd-product-type { font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #8a929c; }
.gsc-mbd-product strong { font-family: Georgia, serif; font-size: 1.25rem; color: #0C1B2A; }
.gsc-mbd-product p { margin: 0; font-size: .9rem; color: #5b6470; line-height: 1.6; min-height: calc(3 * 1.6em); }

@media (max-width: 900px) { .gsc-mbd-products { grid-template-columns: 1fr; } .gsc-mbd-product p { min-height: 0; } }
