/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Description: Child theme for SCW Capital. Removes Astra's native header; the site uses the "SCW Header" reusable block instead.
Author: SCW Capital
Template: astra
Version: 1.0.0
Text Domain: astra-child
*/

/* ==========================================================================
   Letter comments: match the site's card style (navy / muted gray, serif
   headings, 14-16px rounded borders). Width matches the Letter body (700px).
   ========================================================================== */
.comments-area {
	max-width: 700px;
	margin: 8px auto 80px;
	padding: 0;
	background: transparent;
	border: 0;
}
.comments-area .comments-title,
.comments-area .comment-reply-title {
	font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
	font-size: 24px;
	font-weight: 600;
	color: #002366;
	margin: 0 0 16px;
	padding: 0;
	border: 0;
}
.comments-area .comments-count-wrapper {
	padding: 0;
	border: 0;
}

/* Comment list */
.comments-area .ast-comment-list,
.comments-area .comment-list {
	list-style: none;
	margin: 0 0 40px;
	padding: 0;
}
.comments-area .ast-comment-list li.comment {
	margin: 0 0 16px;
	padding: 0;
	border: 0;
}
.comments-area .ast-comment-list .children {
	margin: 16px 0 0 28px;
	padding: 0;
	list-style: none;
}
.comments-area .ast-comment {
	background: #fff;
	border: 1px solid rgba(148, 163, 184, 0.35);
	border-radius: 14px;
	padding: 20px 24px;
}
.comments-area .ast-comment-info {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}
.comments-area .ast-comment-avatar-wrap img {
	border-radius: 50%;
	width: 40px;
	height: 40px;
}
.comments-area .ast-comment-cite-wrap cite,
.comments-area .ast-comment-cite-wrap b.fn,
.comments-area .ast-comment-cite-wrap a {
	font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
	font-style: normal;
	font-size: 16px;
	font-weight: 600;
	color: #002366;
	text-decoration: none;
	text-transform: none;
}
.comments-area .ast-comment-time,
.comments-area .ast-comment-time a {
	font-size: 13px;
	color: #708090;
	text-decoration: none;
}
.comments-area .ast-comment-content,
.comments-area .ast-comment-content p {
	font-size: 15px;
	line-height: 1.7;
	color: #374151;
}
.comments-area .ast-comment-content p:last-of-type {
	margin-bottom: 8px;
}
.comments-area .ast-comment-edit-reply-wrap a,
.comments-area .ast-reply-link a,
.comments-area .ast-edit-link a {
	font-size: 13px;
	font-weight: 500;
	color: #0B4539;
	text-decoration: none;
}
.comments-area .comment-awaiting-moderation {
	display: block;
	font-size: 13px;
	font-style: italic;
	color: #708090;
	margin-bottom: 8px;
}

/* Comment form card */
.comments-area .comment-respond {
	background: #fff;
	border: 1px solid rgba(148, 163, 184, 0.35);
	border-radius: 16px;
	padding: 28px 32px;
	margin: 0;
}
.comments-area .comment-notes,
.comments-area .logged-in-as,
.comments-area .comment-form-cookies-consent label {
	font-size: 14px;
	color: #708090;
}
.comments-area .comment-form textarea,
.comments-area .comment-form input[type="text"],
.comments-area .comment-form input[type="email"],
.comments-area .comment-form input[type="url"] {
	width: 100%;
	background: #F9F9F7;
	border: 1px solid rgba(148, 163, 184, 0.45);
	border-radius: 10px;
	padding: 12px 14px;
	font-size: 15px;
	color: #374151;
	box-shadow: none;
}
.comments-area .comment-form textarea:focus,
.comments-area .comment-form input:focus {
	border-color: #0B4539;
	outline: none;
	background: #fff;
}
.comments-area .comment-form .form-submit {
	margin: 8px 0 0;
}
.comments-area .comment-form input[type="submit"] {
	background: #002366;
	color: #fff;
	border: 0;
	border-radius: 999px;
	padding: 12px 28px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s ease;
}
.comments-area .comment-form input[type="submit"]:hover {
	background: #0B4539;
}
@media (max-width: 600px) {
	.comments-area { margin: 8px 16px 60px; }
	.comments-area .comment-respond { padding: 22px 20px; }
}

/* Website field removed: Name and Email share the row 50/50 */
.comments-area .comment-form .comment-form-author,
.comments-area .comment-form .comment-form-email {
	width: 50%;
}
@media (max-width: 544px) {
	.comments-area .comment-form .comment-form-author,
	.comments-area .comment-form .comment-form-email {
		width: 100%;
	}
}

/* ==========================================================================
   Dark mode toggle (sun/moon) in the header nav
   ========================================================================== */
.scw-nav-links .scw-theme-toggle {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 34px !important;
	height: 34px !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 1px solid rgba(0, 35, 102, 0.25) !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: #002366 !important;
	line-height: 0 !important;
	cursor: pointer;
	box-shadow: none !important;
	transition: background 0.2s ease, border-color 0.2s ease;
}
.scw-nav-links .scw-theme-toggle:hover {
	background: rgba(0, 35, 102, 0.05) !important;
	border-color: #002366 !important;
}
.scw-nav-links .scw-theme-toggle:focus-visible {
	outline: 2px solid #0B4539;
	outline-offset: 2px;
}
.scw-theme-toggle svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.scw-theme-toggle .scw-icon-sun { display: none; }
html[data-theme="dark"] .scw-theme-toggle .scw-icon-sun { display: block; }
html[data-theme="dark"] .scw-theme-toggle .scw-icon-moon { display: none; }
html[data-theme="dark"] .scw-nav-links .scw-theme-toggle {
	background: transparent !important;
	color: #E8CE9B !important;
	border-color: rgba(232, 206, 155, 0.35) !important;
}
html[data-theme="dark"] .scw-nav-links .scw-theme-toggle:hover {
	background: rgba(212, 175, 106, 0.12) !important;
	border-color: #D4AF6A !important;
}

/* ==========================================================================
   Reading List: The Full Shelf ([scw_reading_shelf])
   ========================================================================== */
.scw-rs-section { margin:20px 0 60px; }
.scw-rs-heading { font-family:'Playfair Display', Georgia, serif; font-size:28px; font-weight:600; color:#002366; margin:0 0 10px; }
.scw-rs-intro { color:#708090; font-size:16px; line-height:1.6; max-width:650px; margin:0 0 24px; }
.scw-rs-tools { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:0 0 14px; }
.scw-rs-search { flex:1 1 260px; max-width:420px; padding:10px 14px; font-size:15px; color:#374151; background:#F9F9F7; border:1px solid rgba(148,163,184,0.45); border-radius:10px; }
.scw-rs-search:focus { border-color:#0B4539; outline:none; background:#ffffff; }
.scw-rs-count { color:#708090; font-size:14px; }
.scw-rs-chips { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px; }
.scw-rs .scw-rs-chip { display:inline-block; margin:0; padding:6px 12px; font-family:inherit; font-size:13px; font-weight:500; line-height:1.3; text-transform:none; letter-spacing:0; color:#0B4539; background:#ffffff; border:1px solid rgba(148,163,184,0.45); border-radius:999px; cursor:pointer; box-shadow:none; }
.scw-rs .scw-rs-chip:hover { border-color:#0B4539; background:#ffffff; color:#0B4539; }
.scw-rs .scw-rs-chip[aria-pressed="true"] { background:#0B4539; border-color:#0B4539; color:#ffffff; }
.scw-rs-az { display:flex; flex-wrap:wrap; gap:4px; margin:0 0 22px; }
.scw-rs .scw-rs-letter { min-width:28px; margin:0; padding:4px 6px; font-family:inherit; font-size:13px; font-weight:600; line-height:1.3; text-align:center; color:#0B4539; background:transparent; border:1px solid rgba(148,163,184,0.35); border-radius:8px; cursor:pointer; box-shadow:none; }
.scw-rs .scw-rs-letter:hover { border-color:#0B4539; background:transparent; color:#0B4539; }
.scw-rs .scw-rs-letter:disabled { color:#9CA3AF; border-color:rgba(148,163,184,0.2); cursor:default; }
.scw-rs .scw-rs-chip:focus-visible, .scw-rs .scw-rs-letter:focus-visible, .scw-rs .scw-rs-more-btn:focus-visible, .scw-rs-card a:focus-visible { outline:2px solid #0B4539; outline-offset:2px; }
.scw-rs-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(6, minmax(0, 1fr)); gap:16px; }
.scw-rs-card { display:flex; flex-direction:column; margin:0; padding:10px; background:#ffffff; border:1px solid rgba(148,163,184,0.35); border-radius:10px; }
.scw-rs-card[hidden] { display:none; }
.scw-rs-cover { display:block; position:relative; aspect-ratio:2/3; margin:0 0 8px; overflow:hidden; border-radius:6px; background:#F7F4EE; text-decoration:none; }
.scw-rs-img { display:block; width:100%; height:100%; object-fit:contain; }
.scw-rs-ph { display:none; position:absolute; inset:0; align-items:center; justify-content:center; padding:10px 10px 10px 18px; text-align:center; background:#ffffff; border:1px solid rgba(148,163,184,0.35); border-left:8px solid #0B4539; border-radius:6px; }
.scw-rs-ph-title { font-family:'Playfair Display', Georgia, serif; font-size:13px; font-weight:600; line-height:1.3; color:#002366; overflow:hidden; display:-webkit-box; -webkit-line-clamp:7; -webkit-box-orient:vertical; overflow-wrap:anywhere; }
.scw-rs-noimg .scw-rs-img { display:none; }
.scw-rs-noimg .scw-rs-ph { display:flex; }
.scw-rs-title { font-family:'Playfair Display', Georgia, serif; font-size:14px; font-weight:600; line-height:1.3; margin:0 0 4px; overflow-wrap:anywhere; }
.scw-rs-title-link { color:#002366; text-decoration:none; }
a.scw-rs-title-link:hover { text-decoration:underline; }
.scw-rs-ed { font-weight:400; color:#708090; }
.scw-rs-author { color:#708090; font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
.scw-rs-nolink { color:#708090; font-size:11px; font-style:italic; line-height:1.4; margin-top:4px; }
.scw-rs-empty { color:#708090; font-style:italic; margin:12px 0 0; }
.scw-rs-more { text-align:center; margin-top:20px; }
.scw-rs .scw-rs-more-btn { margin:0; padding:10px 22px; font-family:inherit; font-size:14px; font-weight:500; text-transform:none; color:#ffffff; background:#0B4539; border:none; border-radius:10px; cursor:pointer; }
.scw-rs .scw-rs-more-btn:hover { background:#08372c; color:#ffffff; }
@media (max-width: 900px) { .scw-rs-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .scw-rs-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; } }
/* Dark mode: unselected chips and A–Z letters sit on the card colour, so they keep light text
   (the site-wide contrast rule gives every button dark text, which is right only for gold buttons). */
html[data-theme="dark"] #scw-reading-shelf.scw-rs .scw-rs-chips .scw-rs-chip:not([aria-pressed="true"]):not(#scw-nid2) { color:#C9C1B4 !important; background:#1C1915 !important; border-color:rgba(232,206,155,0.16) !important; }
html[data-theme="dark"] #scw-reading-shelf.scw-rs .scw-rs-chips .scw-rs-chip:not([aria-pressed="true"]):hover:not(#scw-nid2) { color:#E8CE9B !important; border-color:#6E8B7A !important; }
html[data-theme="dark"] #scw-reading-shelf.scw-rs .scw-rs-az .scw-rs-letter:not(#scw-nid2) { color:#C9C1B4 !important; background:transparent !important; border-color:rgba(232,206,155,0.16) !important; }
html[data-theme="dark"] #scw-reading-shelf.scw-rs .scw-rs-az .scw-rs-letter:hover:not(:disabled):not(#scw-nid2) { color:#E8CE9B !important; border-color:#6E8B7A !important; }
html[data-theme="dark"] #scw-reading-shelf.scw-rs .scw-rs-az .scw-rs-letter:disabled:not(#scw-nid2) { color:#5E584F !important; border-color:rgba(232,206,155,0.08) !important; }
html[data-theme="dark"] #scw-reading-shelf.scw-rs .scw-rs-chip:focus-visible, html[data-theme="dark"] #scw-reading-shelf.scw-rs .scw-rs-letter:focus-visible, html[data-theme="dark"] #scw-reading-shelf.scw-rs .scw-rs-more-btn:focus-visible, html[data-theme="dark"] .scw-rs-card a:focus-visible { outline-color:#D4AF6A; }

/* Full Shelf v2: progressive rendering + 16 topic chips */
.scw-rs .scw-rs-chip { white-space:nowrap; }
.scw-rs:not(.scw-rs-js) .scw-rs-more { display:none; }  /* without JavaScript the first 48 books show, with a note */
@media (max-width: 560px) {
	/* On phones the chip row scrolls sideways instead of wrapping into six or seven rows */
	.scw-rs-chips { flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scroll-snap-type:x proximity; scrollbar-width:thin; padding:2px 2px 8px; }
	.scw-rs .scw-rs-chip { flex:0 0 auto; scroll-snap-align:start; }
}
