Add social share buttons and per-question OG share stubs

This commit is contained in:
nmemmert
2026-05-11 11:53:01 -04:00
parent f4adeb2844
commit 7a48130ffb
3 changed files with 1032 additions and 195 deletions
+364 -86
View File
@@ -3268,21 +3268,73 @@
/* ── Q&A Section ── */
.section-qa {
background: rgba(201, 168, 76, 0.05);
border-top: 1px solid rgba(201, 168, 76, 0.15);
background:
radial-gradient(90% 120% at 100% 0%, rgba(201, 168, 76, 0.12) 0%, rgba(201, 168, 76, 0.02) 50%, rgba(16, 15, 12, 0) 100%),
linear-gradient(180deg, rgba(20, 18, 14, 0.96), rgba(13, 12, 10, 0.97));
border-top: 1px solid rgba(201, 168, 76, 0.2);
}
.qa-filters {
display: flex;
flex-direction: column;
gap: 1rem;
margin-bottom: 2rem;
gap: 0.85rem;
margin-bottom: 1rem;
}
.qa-toolbar {
display: flex;
justify-content: flex-end;
margin-bottom: 0.7rem;
}
.qa-view-toggle {
border: 1px solid rgba(201, 168, 76, 0.34);
background: rgba(201, 168, 76, 0.05);
color: #cfba8d;
border-radius: 999px;
padding: 0.3rem 0.72rem;
font-size: 0.76rem;
letter-spacing: 0.06em;
text-transform: uppercase;
cursor: pointer;
}
.qa-view-toggle--active {
background: rgba(201, 168, 76, 0.16);
color: #f4ddb0;
}
.qa-topics {
display: flex;
flex-wrap: wrap;
flex-wrap: nowrap;
gap: 0.5rem;
overflow-x: auto;
padding-bottom: 0.15rem;
}
.qa-tags {
display: flex;
flex-wrap: nowrap;
gap: 0.45rem;
overflow-x: auto;
padding-bottom: 0.1rem;
}
.qa-tag-btn {
border: 1px solid rgba(201, 168, 76, 0.26);
background: rgba(201, 168, 76, 0.04);
color: #bfa982;
border-radius: 999px;
padding: 0.28rem 0.62rem;
font-size: 0.75rem;
cursor: pointer;
white-space: nowrap;
}
.qa-tag-btn--active {
background: rgba(201, 168, 76, 0.18);
color: #f0d9ab;
border-color: rgba(201, 168, 76, 0.5);
}
.qa-topics::-webkit-scrollbar {
@@ -3297,11 +3349,11 @@
.qa-topic-btn {
background: none;
border: 1px solid rgba(201, 168, 76, 0.35);
color: var(--brand-muted);
padding: 0.35rem 0.9rem;
border-radius: 2rem;
color: #cab483;
padding: 0.42rem 0.92rem;
border-radius: 999px;
cursor: pointer;
font-size: 0.875rem;
font-size: 0.85rem;
font-family: 'Barlow', sans-serif;
transition: background 0.18s, border-color 0.18s, color 0.18s;
}
@@ -3313,16 +3365,22 @@
}
.qa-topic-btn--active {
background: rgba(201, 168, 76, 0.18);
background: rgba(201, 168, 76, 0.2);
border-color: var(--brand-gold);
color: var(--brand-gold);
color: #f2ddb0;
font-weight: 600;
}
.qa-search {
.qa-topic-btn--full {
width: 100%;
display: flex;
gap: 1rem;
align-items: flex-end;
justify-content: space-between;
align-items: center;
border-radius: 0.6rem;
}
.qa-search {
display: block;
}
.qa-search label {
@@ -3345,18 +3403,20 @@
}
.qa-search input {
padding: 0.75rem 1rem;
background: rgba(30, 30, 30, 0.8);
border: 1px solid rgba(201, 168, 76, 0.3);
color: var(--brand-warm-white);
width: 100%;
padding: 0.78rem 1rem;
background: rgba(22, 21, 17, 0.95);
border: 1px solid rgba(201, 168, 76, 0.33);
color: #f7f0df;
font-family: 'Barlow', sans-serif;
border-radius: 0.375rem;
transition: border-color 0.2s ease;
border-radius: 0.55rem;
transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.qa-search input:focus {
outline: none;
border-color: var(--brand-gold);
box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.18);
}
.qa-filter-actions {
@@ -3364,6 +3424,28 @@
justify-content: flex-end;
}
.qa-filter-chips {
margin: 0 0 0.75rem;
display: flex;
flex-wrap: wrap;
gap: 0.4rem;
}
.qa-chip {
border: 1px solid rgba(201, 168, 76, 0.26);
background: rgba(201, 168, 76, 0.06);
color: #d2bf95;
border-radius: 999px;
padding: 0.24rem 0.6rem;
font-size: 0.74rem;
cursor: pointer;
}
.qa-chip--clear {
color: #ead6ac;
border-color: rgba(201, 168, 76, 0.5);
}
.qa-clear-btn {
background: transparent;
border: 1px solid rgba(201, 168, 76, 0.38);
@@ -3381,14 +3463,72 @@
.qa-cards {
display: flex;
flex-direction: column;
gap: 0.7rem;
}
.qa-meta-row {
margin: 0 0 0.9rem;
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.75rem;
}
/* ── Accordion card ── */
.qa-result-count {
margin: 0;
color: #d7c59d;
font-size: 0.92rem;
}
.qa-sort-select {
display: inline-flex;
align-items: center;
gap: 0.45rem;
font-size: 0.82rem;
color: #b8a37a;
text-transform: uppercase;
letter-spacing: 0.06em;
}
.qa-sort-select select {
border: 1px solid rgba(201, 168, 76, 0.35);
background: rgba(24, 22, 18, 0.95);
color: #f1e4c2;
border-radius: 0.45rem;
padding: 0.33rem 0.58rem;
}
.qa-layout {
display: grid;
grid-template-columns: minmax(210px, 250px) minmax(0, 1fr);
gap: 1rem;
align-items: flex-start;
}
.qa-sidebar {
border: 1px solid rgba(201, 168, 76, 0.26);
background: linear-gradient(180deg, rgba(39, 34, 24, 0.76), rgba(25, 22, 17, 0.9));
border-radius: 0.75rem;
padding: 0.8rem;
display: flex;
flex-direction: column;
gap: 0.4rem;
position: sticky;
top: 94px;
}
.qa-sidebar-label {
margin: 0 0 0.1rem;
color: #ad9971;
font-size: 0.78rem;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.qa-card-scene {
border: 1px solid rgba(201, 168, 76, 0.25);
border-radius: 0.5rem;
background: rgba(35, 30, 20, 0.85);
border-radius: 0.68rem;
background: linear-gradient(180deg, rgba(32, 28, 20, 0.96), rgba(20, 19, 15, 0.98));
transition: border-color 0.2s ease;
overflow: hidden;
}
@@ -3397,56 +3537,87 @@
border-color: rgba(201, 168, 76, 0.55);
}
.qa-card-inner {
.qa-card-scene--focused {
border-color: rgba(201, 168, 76, 0.72);
box-shadow: 0 0 0 1px rgba(201, 168, 76, 0.24);
}
.qa-question-header {
width: 100%;
cursor: pointer;
display: flex;
align-items: flex-start;
gap: 0.8rem;
padding: 1rem 1rem 0.9rem;
}
.qa-card-face {
padding: 1.25rem 1.5rem;
}
.qa-card-front {
display: flex;
align-items: center;
gap: 1rem;
user-select: none;
padding: 0.25rem 1rem 1rem;
}
.qa-card-back {
border-top: 1px solid rgba(201, 168, 76, 0.2);
background: rgba(20, 28, 20, 0.7);
display: none;
}
.qa-card-inner.flipped .qa-card-back {
display: block;
border-top: 1px solid rgba(201, 168, 76, 0.16);
background: rgba(17, 24, 17, 0.58);
display: grid;
grid-template-columns: auto 1fr;
column-gap: 0.8rem;
align-items: flex-start;
text-align: left;
}
.qa-face-label {
font-size: 1.3rem;
font-size: 1.15rem;
font-weight: 700;
color: var(--brand-gold);
flex-shrink: 0;
width: 1.75rem;
flex: 0 0 1.4rem;
}
.qa-question-main {
min-width: 0;
display: flex;
flex-direction: column;
gap: 0.42rem;
}
.qa-question-text {
margin: 0;
font-size: 1.14rem;
line-height: 1.6;
color: var(--brand-warm-white);
font-size: 1.06rem;
line-height: 1.5;
color: #f6efe0;
font-weight: 600;
flex: 1;
}
.qa-highlight {
background: rgba(201, 168, 76, 0.26);
color: #f7e9c8;
padding: 0.02em 0.18em;
border-radius: 0.24em;
}
.qa-question-meta {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.5rem;
color: #bca67f;
font-size: 0.78rem;
}
.qa-topic-pill {
border: 1px solid rgba(201, 168, 76, 0.35);
border-radius: 999px;
padding: 0.16rem 0.5rem;
color: #e8d0a0;
}
.qa-answer-text {
margin: 0;
font-size: 1.12rem;
line-height: 1.75;
color: var(--brand-warm-white);
font-size: 1.01rem;
line-height: 1.58;
color: #efe7d4;
opacity: 0.92;
white-space: pre-wrap;
text-align: left;
justify-self: stretch;
}
.qa-answer-text a {
@@ -3459,12 +3630,76 @@
color: #f0ead8;
}
.qa-flip-hint {
font-size: 0.75rem;
color: var(--brand-muted);
margin-left: auto;
flex-shrink: 0;
font-style: italic;
.qa-read-more-btn {
margin-top: 0.55rem;
border: 1px solid rgba(201, 168, 76, 0.35);
background: rgba(201, 168, 76, 0.07);
color: #d8c395;
border-radius: 999px;
padding: 0.2rem 0.58rem;
font-size: 0.74rem;
cursor: pointer;
}
.qa-card-actions {
display: flex;
align-items: center;
gap: 0.45rem;
justify-content: flex-end;
padding: 0 1rem 0.65rem;
}
.qa-social-btn {
display: inline-flex;
align-items: center;
gap: 0.3rem;
border-radius: 999px;
padding: 0.28rem 0.62rem;
font-size: 0.73rem;
font-family: inherit;
letter-spacing: 0.04em;
cursor: pointer;
border: 1px solid transparent;
transition: background 0.15s, border-color 0.15s;
}
.qa-social-btn--x {
background: rgba(255,255,255,0.06);
border-color: rgba(255,255,255,0.15);
color: #e7e7e7;
}
.qa-social-btn--x:hover {
background: rgba(255,255,255,0.12);
border-color: rgba(255,255,255,0.28);
}
.qa-social-btn--fb {
background: rgba(24,119,242,0.12);
border-color: rgba(24,119,242,0.32);
color: #7eaaff;
}
.qa-social-btn--fb:hover {
background: rgba(24,119,242,0.22);
border-color: rgba(24,119,242,0.5);
}
.qa-share-btn {
border: 1px solid rgba(201, 168, 76, 0.35);
background: rgba(201, 168, 76, 0.06);
color: #d6be8f;
border-radius: 999px;
padding: 0.28rem 0.66rem;
font-size: 0.73rem;
font-family: inherit;
text-transform: uppercase;
letter-spacing: 0.06em;
cursor: pointer;
}
.qa-share-btn:hover {
background: rgba(201, 168, 76, 0.14);
}
.qa-no-results {
@@ -3473,6 +3708,26 @@
color: var(--brand-muted);
}
.qa-no-results--smart {
text-align: left;
border: 1px solid rgba(201, 168, 76, 0.24);
border-radius: 0.7rem;
background: rgba(23, 22, 17, 0.82);
}
.qa-no-results--smart p {
margin: 0 0 0.6rem;
}
.qa-inline-link {
border: 0;
background: transparent;
color: #e7cf9c;
text-decoration: underline;
cursor: pointer;
padding: 0;
}
.qa-pagination {
display: flex;
align-items: center;
@@ -3509,18 +3764,23 @@
text-align: center;
}
.qa-answer-byline {
grid-column: 2;
margin: 0.55rem 0 0;
font-size: 0.8rem;
color: #a89060;
font-style: italic;
text-align: left;
}
@media (max-width: 768px) {
.qa-filters {
gap: 0.65rem;
margin-bottom: 1.25rem;
margin-bottom: 1rem;
}
.qa-topics {
flex-wrap: nowrap;
overflow-x: auto;
overflow-y: hidden;
padding-bottom: 0.2rem;
-webkit-overflow-scrolling: touch;
gap: 0.4rem;
}
.qa-topic-btn {
@@ -3535,28 +3795,43 @@
font-size: 0.95rem;
}
.qa-card-face {
padding: 1rem 0.9rem;
}
.qa-card-front {
.qa-meta-row {
flex-direction: column;
align-items: flex-start;
gap: 0.65rem;
gap: 0.5rem;
}
.qa-face-label {
width: 1.2rem;
font-size: 1.1rem;
line-height: 1;
.qa-layout {
grid-template-columns: 1fr;
}
.qa-sidebar {
position: static;
padding: 0.65rem;
max-height: 220px;
overflow-y: auto;
}
.qa-question-header {
padding: 0.86rem 0.82rem;
gap: 0.62rem;
}
.qa-card-face {
padding: 0.15rem 0.82rem 0.86rem;
}
.qa-card-actions {
padding: 0 0.82rem 0.62rem;
}
.qa-question-text {
font-size: 1rem;
line-height: 1.5;
font-size: 0.97rem;
line-height: 1.45;
}
.qa-answer-text {
font-size: 0.98rem;
font-size: 0.95rem;
line-height: 1.6;
}
@@ -4321,15 +4596,17 @@
/* Q&A related question buttons */
.qa-related-wrap {
margin-top: 1rem;
border-top: 1px solid rgba(201, 168, 76, 0.18);
padding-top: 0.85rem;
margin-top: 0.7rem;
border-top: 1px solid rgba(201, 168, 76, 0.12);
padding-top: 0.6rem;
grid-column: 2;
text-align: left;
}
.qa-related-label {
margin: 0 0 0.5rem;
color: #b9a783;
font-size: 0.88rem;
color: #a9956c;
font-size: 0.76rem;
text-transform: uppercase;
letter-spacing: 0.05em;
}
@@ -4338,20 +4615,21 @@
display: flex;
flex-wrap: wrap;
gap: 0.45rem;
justify-content: flex-start;
}
.qa-related-btn {
border: 1px solid rgba(201, 168, 76, 0.35);
background: rgba(201, 168, 76, 0.08);
color: #d9be86;
border: 1px solid rgba(201, 168, 76, 0.22);
background: rgba(201, 168, 76, 0.03);
color: #bca57b;
border-radius: 999px;
padding: 0.3rem 0.75rem;
font-size: 0.82rem;
padding: 0.22rem 0.62rem;
font-size: 0.74rem;
cursor: pointer;
}
.qa-related-btn:hover {
background: rgba(201, 168, 76, 0.16);
background: rgba(201, 168, 76, 0.09);
}
@media (max-width: 900px) {