/*
Theme Name: Girl Nook Child
Template: blocksy
Version: 1.0.2
Description: Child theme for the girl nook. Holds all brand CSS (fonts, colors, buttons, wall/card styles) as a proper stylesheet instead of a WPCode snippet.
*/

:root { --gn-pink: #DDA6A6; --gn-pink-hover: #D19595; --gn-pink-press: #C28787; --gn-blush: #EED6D1; --gn-ink: #000000; --gn-body: #4B4B4B; --gn-grey: #999999; --gn-border: #EED6D1; --gn-bg: #FCFAF8; --gn-deep-pink: #895959; }
/* Values corrected 2026-09-24 against the real "the girl nook" Design System
   artifact (tokens.json): --gn-ink is the real text-heading black (#000; our old
   #2C2624 was never a real token); --gn-border is the real line-hairline — the
   brand's ONE border color is dusty-pink solid, not a black-alpha tint; --gn-body
   already matched real text-body (#4B4B4B) under our own name, untouched;
   --gn-pink-hover/--gn-pink-press now match real accent-hover/accent-press exactly. */
body { font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif; color: var(--gn-body); }
h1, h2, h3, h4, .wp-block-heading, .gn-heading-font { font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important; color: var(--gn-ink); }
h1 { font-size: clamp(2.1rem, 5vw + 1rem, 3.4rem) !important; line-height: 1.15 !important; }
h2 { font-size: clamp(1.3rem, 2vw + 1rem, 1.7rem) !important; }

.gn-blush-panel { background: var(--gn-blush); border-radius: 28px 4px 28px 4px; padding: 3rem 1.75rem; max-width: 620px !important; margin-left: auto !important; margin-right: auto !important; margin-top: 4rem !important; }
@media (min-width: 640px) { .gn-blush-panel { padding: 4rem 2.5rem; } }
.gn-eyebrow { font-family: 'Playfair Display SC', Georgia, serif; font-size: 15px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gn-deep-pink); font-weight: 400; }

.wp-block-button.gn-btn-primary .wp-block-button__link { background: var(--gn-pink) !important; border-color: var(--gn-pink) !important; color: #fff !important; font-weight: 700; border-radius: 6px; transition: background 120ms ease-out, border-color 120ms ease-out; }
.wp-block-button.gn-btn-primary .wp-block-button__link:hover { background: var(--gn-pink-hover) !important; border-color: var(--gn-pink-hover) !important; }
.wp-block-button.gn-btn-primary .wp-block-button__link:active { background: var(--gn-pink-press) !important; border-color: var(--gn-pink-press) !important; }
.wp-block-button.gn-btn-outline .wp-block-button__link { background: transparent !important; color: var(--gn-deep-pink) !important; border: 1.5px solid var(--gn-pink) !important; font-weight: 700; border-radius: 6px; transition: background 120ms ease-out, border-color 120ms ease-out, color 120ms ease-out; }
.wp-block-button.gn-btn-outline .wp-block-button__link:hover { background: var(--gn-blush) !important; border-color: var(--gn-pink) !important; color: var(--gn-ink) !important; }
.wp-block-button.gn-btn-outline .wp-block-button__link:active { background: var(--gn-pink) !important; border-color: var(--gn-pink) !important; color: #fff !important; }

.gn-link-quiet { color: var(--gn-body); text-decoration: underline; text-decoration-color: var(--gn-grey); text-underline-offset: 3px; font-size: 0.95rem; }
.gn-link-quiet:hover { color: var(--gn-ink); text-decoration-color: var(--gn-pink); }

/* ===== Homepage MVP sections (hero / wall promo / substack promo) ===== */
.gn-home-hero { max-width: 1280px !important; margin: 3rem auto 0 !important; padding: 0 1.5rem; }
@media (min-width: 782px) { .gn-home-hero { padding: 0 3.5rem; } }
.gn-home-hero h1 { font-size: 40px !important; line-height: 1.15 !important; font-weight: 700 !important; letter-spacing: -0.015em; margin: 1rem 0 0 !important; }
.gn-home-hero p { font-family: 'Lato', sans-serif; font-size: 17px; line-height: 1.7; font-weight: 400; color: var(--gn-body); max-width: 32rem; margin: 1.25rem 0 0 !important; }
.gn-home-hero .wp-block-buttons { margin-top: 1.9rem !important; }

.gn-home-wall-promo { background: var(--gn-blush); border-radius: 28px 4px 28px 4px; max-width: 1280px !important; margin: 5.5rem auto 0 !important; padding: 2rem 1.5rem; }
@media (min-width: 782px) { .gn-home-wall-promo { padding: 3.25rem 3.5rem; } }
.gn-home-wall-promo h2 { font-size: 30px !important; line-height: 1.3 !important; font-weight: 600 !important; margin: 1rem 0 0 !important; }
.gn-home-wall-promo p { font-family: 'Lato', sans-serif; font-size: 17px; line-height: 1.7; font-weight: 400; color: var(--gn-body); max-width: 30rem; margin: 1.1rem 0 0 !important; }
.gn-home-wall-promo .wp-block-buttons { margin-top: 1.75rem !important; gap: 12px !important; }
.gn-home-wall-promo .wp-block-columns { align-items: center !important; }

.gn-home-wall-cards { display: flex; flex-direction: column; gap: 16px; list-style: none; margin: 0; padding: 0; }
.gn-home-wall-cards .gn-thought-card { background: #fff; }
.gn-home-wall-cards .gn-thought-excerpt, .gn-home-wall-cards .gn-thought-more { display: none !important; }

.gn-home-substack-promo { max-width: 1280px !important; margin: 5.5rem auto 0 !important; background: #fff; border: 1px solid var(--gn-border); border-radius: 4px 28px 4px 28px; overflow: hidden; padding: 0 !important; }
.gn-home-substack-promo .wp-block-columns { gap: 0 !important; margin: 0 !important; align-items: stretch !important; }
.gn-home-substack-promo .wp-block-column:first-child { margin: 0 !important; }
.gn-home-substack-promo .wp-block-column:first-child img { width: 100%; height: 100%; min-height: 240px; object-fit: cover; display: block; }
.gn-home-substack-promo .wp-block-column:last-child { padding: 2rem 1.5rem; }
@media (min-width: 782px) { .gn-home-substack-promo .wp-block-column:last-child { padding: 3.25rem 3.5rem; } }
.gn-home-substack-promo h2 { font-size: 30px !important; line-height: 1.3 !important; font-weight: 600 !important; margin: 0.75rem 0 0 !important; }
.gn-home-substack-promo p { font-family: 'Lato', sans-serif; font-size: 17px; line-height: 1.7; font-weight: 400; color: var(--gn-body); margin: 0.75rem 0 0 !important; }
.gn-home-substack-promo .wp-block-buttons { margin-top: 1rem !important; }

/* ===== Header: icon-only social links in the primary nav (menu-editable — add/remove/reorder from Appearance > Menus, this CSS just re-skins them into icon badges) ===== */
li.gn-nav-social > a.ct-menu-link {
	display: inline-flex; align-items: center; justify-content: center;
	width: 17px; height: 17px; text-indent: -9999px; overflow: hidden;
	background-color: var(--gn-deep-pink);
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
	-webkit-mask-size: contain; mask-size: contain;
	-webkit-mask-position: center; mask-position: center;
	transition: background-color 120ms ease-out;
}
li.gn-nav-social:hover > a.ct-menu-link { background-color: var(--gn-pink); }
li.gn-nav-social > a[href*="instagram.com"] { -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyLjIiPjxyZWN0IHg9IjMiIHk9IjMiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjUiPjwvcmVjdD48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI0Ij48L2NpcmNsZT48Y2lyY2xlIGN4PSIxNy41IiBjeT0iNi41IiByPSIxLjIiIGZpbGw9ImJsYWNrIiBzdHJva2U9Im5vbmUiPjwvY2lyY2xlPjwvc3ZnPg=="); mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyLjIiPjxyZWN0IHg9IjMiIHk9IjMiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjUiPjwvcmVjdD48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI0Ij48L2NpcmNsZT48Y2lyY2xlIGN4PSIxNy41IiBjeT0iNi41IiByPSIxLjIiIGZpbGw9ImJsYWNrIiBzdHJva2U9Im5vbmUiPjwvY2lyY2xlPjwvc3ZnPg=="); }
li.gn-nav-social > a[href*="pinterest.com"] { -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iYmxhY2siPjxwYXRoIGQ9Ik0xMiAyYTEwIDEwIDAgMCAwLTMuNiAxOS4zYy0uMS0uOC0uMi0yIDAtMi45bDEuMi01LjJzLS4zLS42LS4zLTEuNWMwLTEuNC44LTIuNSAxLjktMi41LjkgMCAxLjMuNyAxLjMgMS41IDAgLjktLjYgMi4yLS45IDMuNS0uMiAxIC41IDEuOSAxLjYgMS45IDEuOSAwIDMuMy0yIDMuMy00LjkgMC0yLjYtMS44LTQuNC00LjQtNC40LTMgMC00LjggMi4yLTQuOCA0LjYgMCAuOS4zIDEuOC44IDIuMy4xLjEuMS4yLjEuM2wtLjMgMS4xYzAgLjItLjIuMy0uNC4yLTEuMy0uNi0yLjItMi42LTIuMi00LjIgMC0zLjQgMi41LTYuNSA3LjEtNi41IDMuNyAwIDYuNiAyLjcgNi42IDYuMiAwIDMuNy0yLjMgNi43LTUuNiA2LjctMS4xIDAtMi4xLS42LTIuNS0xLjNsLS43IDIuNmMtLjIgMS0uOSAyLjItMS40IDIuOUExMCAxMCAwIDEgMCAxMiAyeiI+PC9wYXRoPjwvc3ZnPg=="); mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iYmxhY2siPjxwYXRoIGQ9Ik0xMiAyYTEwIDEwIDAgMCAwLTMuNiAxOS4zYy0uMS0uOC0uMi0yIDAtMi45bDEuMi01LjJzLS4zLS42LS4zLTEuNWMwLTEuNC44LTIuNSAxLjktMi41LjkgMCAxLjMuNyAxLjMgMS41IDAgLjktLjYgMi4yLS45IDMuNS0uMiAxIC41IDEuOSAxLjYgMS45IDEuOSAwIDMuMy0yIDMuMy00LjkgMC0yLjYtMS44LTQuNC00LjQtNC40LTMgMC00LjggMi4yLTQuOCA0LjYgMCAuOS4zIDEuOC44IDIuMy4xLjEuMS4yLjEuM2wtLjMgMS4xYzAgLjItLjIuMy0uNC4yLTEuMy0uNi0yLjItMi42LTIuMi00LjIgMC0zLjQgMi41LTYuNSA3LjEtNi41IDMuNyAwIDYuNiAyLjcgNi42IDYuMiAwIDMuNy0yLjMgNi43LTUuNiA2LjctMS4xIDAtMi4xLS42LTIuNS0xLjNsLS43IDIuNmMtLjIgMS0uOSAyLjItMS40IDIuOUExMCAxMCAwIDEgMCAxMiAyeiI+PC9wYXRoPjwvc3ZnPg=="); }
li.gn-nav-social > a[href*="spotify.com"] { -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iYmxhY2siPjxwYXRoIGQ9Ik0xMiAyQzYuNSAyIDIgNi41IDIgMTJzNC41IDEwIDEwIDEwIDEwLTQuNSAxMC0xMFMxNy41IDIgMTIgMnptNC42IDE0LjRjLS4yLjMtLjYuNC0uOS4yLTIuNS0xLjUtNS42LTEuOS05LjMtMWEuNy43IDAgMSAxLS4zLTEuM2M0LS45IDcuNS0uNSAxMC4zIDEuMi4zLjIuNC42LjIuOXptMS4yLTIuOGMtLjIuNC0uNy41LTEuMS4zLTIuOS0xLjgtNy4zLTIuMy0xMC43LTEuMmEuODUuODUgMCAxIDEtLjUtMS42YzMuOS0xLjIgOC43LS42IDEyIDEuNC40LjIuNS43LjMgMS4xem0uMS0yLjlDMTQuMyA4LjcgOC45IDguNSA1LjcgOS41YTEgMSAwIDEgMS0uNi0xLjljMy43LTEuMSA5LjctLjkgMTMuNSAxLjRhMSAxIDAgMSAxLTEgMS43eiI+PC9wYXRoPjwvc3ZnPg=="); mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iYmxhY2siPjxwYXRoIGQ9Ik0xMiAyQzYuNSAyIDIgNi41IDIgMTJzNC41IDEwIDEwIDEwIDEwLTQuNSAxMC0xMFMxNy41IDIgMTIgMnptNC42IDE0LjRjLS4yLjMtLjYuNC0uOS4yLTIuNS0xLjUtNS42LTEuOS05LjMtMWEuNy43IDAgMSAxLS4zLTEuM2M0LS45IDcuNS0uNSAxMC4zIDEuMi4zLjIuNC42LjIuOXptMS4yLTIuOGMtLjIuNC0uNy41LTEuMS4zLTIuOS0xLjgtNy4zLTIuMy0xMC43LTEuMmEuODUuODUgMCAxIDEtLjUtMS42YzMuOS0xLjIgOC43LS42IDEyIDEuNC40LjIuNS43LjMgMS4xem0uMS0yLjlDMTQuMyA4LjcgOC45IDguNSA1LjcgOS41YTEgMSAwIDEgMS0uNi0xLjljMy43LTEuMSA5LjctLjkgMTMuNSAxLjRhMSAxIDAgMSAxLTEgMS43eiI+PC9wYXRoPjwvc3ZnPg=="); }
li.gn-nav-social { margin-left: 2px; }

/* ===== Footer v2: Blocksy's own builder footer (#footer.ct-footer) is
   hidden and replaced by .gn-footer-v2, rendered server-side in the
   mu-plugin from the SAME real "Footer Menu" (wp_get_nav_menu_items) —
   still fully edited from Appearance > Menus, just grouped into columns
   by a simple rule (known social domains -> Follow, "Privacy Policy" ->
   bottom bar, everything else -> main column) instead of fixed positions,
   so reordering/adding links there doesn't require a CSS update. */
#footer.ct-footer { display: none; }
.gn-footer-v2 { background: var(--gn-bg); color: var(--gn-body); border-top: 1px solid var(--gn-border); }
.gn-footer-v2-inner {
	max-width: 1280px; margin: 0 auto; padding: 3.5rem 1.5rem 2rem;
	display: grid; grid-template-columns: 1fr; gap: 28px;
}
@media (min-width: 640px) { .gn-footer-v2-inner { grid-template-columns: repeat(3, 1fr); padding: 3.5rem 3.5rem 2rem; } }
.gn-footer-v2-heading { font-family: 'Lato', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gn-ink); margin: 0 0 14px; }
.gn-footer-v2-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.gn-footer-v2-col a,
.gn-footer-v2-social a {
	font-family: 'Lato', sans-serif; font-size: 15px; color: var(--gn-deep-pink); text-decoration: none;
}
.gn-footer-v2-col a:hover,
.gn-footer-v2-social a:hover { color: var(--gn-pink-press); }
.gn-footer-v2-social { display: flex; flex-direction: column; gap: 8px; }
.gn-footer-v2-logo img { height: 40px; width: auto; display: block; }
.gn-footer-v2-bottom {
	max-width: 1280px; margin: 0 auto; padding: 1.5rem 1.5rem 2rem;
	display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between;
	font-family: 'Lato', sans-serif; font-size: 13px; color: var(--gn-grey);
	border-top: 1px solid var(--gn-border);
}
@media (min-width: 640px) { .gn-footer-v2-bottom { padding: 1.5rem 3.5rem 2rem; } }
.gn-footer-v2-bottom a { color: var(--gn-deep-pink); text-decoration: underline; }
.gn-footer-v2-bottom a:hover { color: var(--gn-pink-press); }
.gn-footer-v2-bottom a:hover { color: #fff; }

/* ===== Contact page (matches Design's "Get in touch" layout/tokens) ===== */
.post-80 .hero-section { display: none; } /* Blocksy's default page-title bar — redundant with our own "Get in touch" h1 */
.gn-contact-layout { max-width: 1280px !important; margin: 3rem auto 0 !important; padding: 0 1.5rem; display: grid; grid-template-columns: 1fr; gap: 32px; align-items: start; }
@media (min-width: 782px) { .gn-contact-layout { grid-template-columns: 1fr 1fr; padding: 0 3.5rem; } }
.gn-contact-intro { background: var(--gn-blush); border-radius: 28px 4px 28px 4px; overflow: hidden; }
.gn-contact-intro-text { padding: 2.5rem 2rem 2rem; }
.gn-contact-intro .gn-eyebrow { margin: 0; }
.gn-contact-intro h1 { font-size: 40px !important; line-height: 1.15 !important; font-weight: 700 !important; letter-spacing: -0.015em; margin: 1rem 0 0 !important; }
.gn-contact-intro p { font-family: 'Lato', sans-serif; font-size: 17px; line-height: 1.7; font-weight: 400; color: var(--gn-body); margin: 1rem 0 0 !important; max-width: 28rem; }
.gn-contact-intro figure { margin: 0; }
.gn-contact-intro img { width: 100%; aspect-ratio: 3/2; object-fit: cover; display: block; }
.gn-contact-form-card { background: #fff; border: 1px solid var(--gn-border); border-radius: 28px 4px 28px 4px; padding: 2rem 1.5rem; }
@media (min-width: 782px) { .gn-contact-form-card { padding: 3rem 2.75rem; } }

.gn-footer { background: var(--gn-ink); color: rgba(255, 255, 255, 0.72); text-align: center; padding: 4rem 1.5rem 2.5rem; }
.gn-footer a { color: rgba(255, 255, 255, 0.85); text-decoration: underline; text-decoration-color: rgba(255, 255, 255, 0.35); }
.gn-footer a:hover { text-decoration-color: var(--gn-pink); }
.gn-footer .gn-footer-copyright { color: rgba(255, 255, 255, 0.45); font-size: 0.78rem; margin-top: 1.5rem; }
.gn-footer-copyright { color: rgba(255,255,255,0.6) !important; }
.gn-footer p, .gn-footer a { color: rgba(255,255,255,0.85) !important; }

.ct-menu-link { color: var(--gn-ink) !important; }
.current-menu-item .ct-menu-link, .ct-menu-link:hover { color: var(--gn-pink) !important; }

.ct-footer { background: var(--gn-ink) !important; padding-top: 28px !important; padding-bottom: 20px !important; }
.ct-footer [data-row] .ct-container { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; }
.ct-footer, .ct-footer p, .ct-footer .ct-menu-link { color: rgba(255,255,255,0.85) !important; }
.ct-footer a { color: rgba(255,255,255,0.85) !important; }
.ct-footer a:hover, .ct-footer .ct-menu-link:hover { color: var(--gn-pink) !important; }
.ct-footer nav ul { justify-content: center !important; flex-wrap: wrap !important; row-gap: 8px !important; }
.ct-footer .ct-footer-copyright { color: rgba(255,255,255,0.6) !important; font-size: 0.78rem !important; }
.ct-footer .widget_media_image img { width: 150px !important; height: auto !important; margin: 0 auto !important; }
.ct-footer [data-row="top"] .ct-container { padding-top: 20px !important; padding-bottom: 8px !important; }
.ct-footer [data-row="top"] .widget_text { margin-top: 8px !important; }
.ct-footer [data-row="middle"] .ct-container { padding-top: 12px !important; padding-bottom: 12px !important; }
.ct-footer [data-row="bottom"] .ct-container { padding-top: 14px !important; padding-bottom: 10px !important; }

.gn-toolkit-wrap { max-width: 880px !important; margin-left: auto !important; margin-right: auto !important; }
@media (max-width: 781px) {
  .gn-toolkit-wrap .wp-block-columns > .wp-block-column:last-child { text-align: center !important; }
  .gn-toolkit-wrap .wp-block-columns > .wp-block-column:last-child .wp-block-button { display: flex !important; justify-content: center !important; }
  .gn-toolkit-wrap .wp-block-columns > .wp-block-column:last-child .wp-block-buttons { justify-content: center !important; }
}

.entry-meta { font-family: 'Lato', sans-serif !important; text-transform: uppercase !important; letter-spacing: 0.06em !important; font-size: 0.78rem !important; }
.entry-meta, .entry-meta a { color: var(--gn-grey) !important; }
.entry-meta a:hover { color: var(--gn-pink) !important; }
.entry-meta .meta-categories a { color: var(--gn-pink) !important; font-weight: 600 !important; }
.entry-meta li::after { color: var(--gn-border) !important; margin: 0 0.7em !important; }
.meta-author .ct-media-container-static { display: none !important; }

.fluentform .ff-el-form-control { background: #fff !important; border: 1px solid rgba(44, 38, 36, 0.14) !important; border-radius: 8px !important; padding: 0 16px !important; min-height: 50px !important; font-family: 'Lato', sans-serif !important; font-size: 1rem !important; color: var(--gn-ink) !important; transition: border-color .2s, box-shadow .2s !important; }
.fluentform textarea.ff-el-form-control { padding: 14px 16px !important; min-height: 170px !important; }
.fluentform .ff-el-form-control::placeholder { color: #b5aeaa !important; }
.fluentform .ff-el-form-control:focus { border-color: var(--gn-pink) !important; box-shadow: 0 0 0 3px rgba(221, 166, 166, 0.22) !important; outline: none !important; }
.fluentform .ff-el-input--label label { font-family: 'Lato', sans-serif !important; font-size: 0.78rem !important; font-weight: 700 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; color: var(--gn-ink) !important; }
.fluentform .ff-el-is-required.asterisk-right label::after, .fluentform .ff-el-is-required.asterisk-left label::before { color: var(--gn-pink) !important; }
.fluentform .ff-el-group { margin-bottom: 24px !important; }
.fluentform .ff-btn-submit { background: var(--gn-pink) !important; color: #fff !important; font-family: 'Lato', sans-serif !important; font-size: 0.85rem !important; font-weight: 700 !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; border: 0 !important; border-radius: 6px !important; padding: 16px 40px !important; cursor: pointer !important; transition: background .2s !important; }
.fluentform .ff-btn-submit:hover, .fluentform .ff-btn-submit:focus { background: var(--gn-pink-hover) !important; color: #fff !important; opacity: 1 !important; }
.fluentform .ff-message-success { background: var(--gn-blush) !important; border: 0 !important; border-radius: 8px !important; color: var(--gn-ink) !important; box-shadow: none !important; }
.fluentform .text-danger, .fluentform .error { font-size: 0.85rem !important; }

/* Is It Just Me? wall */
.gn-wall-hero { text-align: center; padding: 3.5rem 2rem; margin-bottom: 2.5rem; }
.gn-wall-hero .gn-eyebrow { justify-content: center; }
.gn-wall-title { font-size: 2.75rem !important; margin: 12px 0 0 !important; }
.gn-wall-lead { font-size: 1.15rem !important; max-width: 34rem; margin: 18px auto 0 !important; color: var(--gn-body) !important; }
.gn-wall-cta-row { margin-top: 28px !important; gap: 18px !important; flex-wrap: wrap; }
.gn-wall-cta-row .wp-block-button__link { background: var(--gn-pink) !important; color: var(--gn-ink) !important; font-family: 'Lato', sans-serif !important; font-weight: 700 !important; letter-spacing: 0.04em; border-radius: 6px !important; padding: 15px 30px !important; text-decoration: none !important; }
.gn-wall-count { font-size: 14px !important; color: var(--gn-body) !important; margin: 0 !important; }

.gn-tag-row { gap: 8px !important; margin: 0 auto 2.5rem !important; max-width: 60rem; padding: 0 1rem; }
.gn-tag-chip .wp-block-button__link { background: #FFFFFF !important; border: 1px solid var(--gn-border) !important; color: var(--gn-body) !important; font-family: 'Lato', sans-serif !important; font-size: 13px !important; font-weight: 700 !important; border-radius: 6px !important; padding: 7px 15px !important; text-decoration: none !important; }
.gn-tag-chip.is-active .wp-block-button__link { background: var(--gn-ink) !important; color: #FCFAF8 !important; border-color: var(--gn-ink) !important; }
.gn-tag-chip .gn-tag-count { color: var(--gn-grey); font-weight: 400; }
.gn-tag-chip.is-active .gn-tag-count { color: rgba(252,250,248,0.7); }

.gn-wall-grid .wp-block-post-template { display: grid !important; grid-template-columns: 1fr 1fr; gap: 24px; list-style: none; margin: 0; padding: 0; }
@media (max-width: 781px) { .gn-wall-grid .wp-block-post-template { grid-template-columns: 1fr; } }
.gn-thought-card { background: #FFFFFF !important; border: 1px solid var(--gn-border); border-radius: 28px 4px 28px 4px !important; padding: 30px 32px !important; display: flex !important; flex-direction: column; gap: 14px; transition: transform 200ms ease-out, box-shadow 200ms ease-out; }
.gn-thought-card:hover { transform: translateY(-2px); box-shadow: 0 2px 4px rgba(120, 86, 86, 0.06), 0 14px 36px rgba(120, 86, 86, 0.10); }
.gn-thought-tags { display: flex; flex-wrap: wrap; gap: 6px; font-size: 0; }
.gn-thought-tags a { display: inline-flex; background: var(--gn-blush) !important; color: var(--gn-ink) !important; font-family: 'Lato', sans-serif !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.1em; text-transform: uppercase; border-radius: 6px; padding: 5px 11px; text-decoration: none !important; }
.gn-thought-title { font-family: 'Playfair Display', serif !important; font-size: 22px !important; font-weight: 600 !important; line-height: 1.3 !important; margin: 0 !important; }
.gn-thought-title a { color: var(--gn-ink) !important; text-decoration: none !important; }
.gn-thought-excerpt { font-family: 'Lato', sans-serif !important; font-size: 1rem !important; line-height: 1.7 !important; color: var(--gn-body) !important; margin: 0 !important; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.gn-thought-excerpt a { color: var(--gn-pink-hover) !important; font-weight: 700 !important; }
.gn-thought-date { font-family: 'Lato', sans-serif !important; font-size: 13px !important; color: var(--gn-grey) !important; margin-top: auto !important; padding-top: 14px; border-top: 1px solid var(--gn-border); }
.gn-wall-pagination { margin-top: 2rem !important; font-family: 'Lato', sans-serif; }
.gn-wall-pagination a, .gn-wall-pagination span { color: var(--gn-ink) !important; }

/* Taxonomy archive pages (tag filter pages) */
.gn-wall-grid { max-width: 880px; margin: 0 auto 2.5rem; padding: 0 1.5rem; }

/* Thought comments (native WP comments, styled to match brand) */
#comments, .comments-area { max-width: 880px; margin: 0 auto; padding: 0 1.5rem 3rem; }
.comment-respond textarea,
.comment-respond input[type="text"],
.comment-respond input[type="email"],
.comment-respond input[type="url"] {
	background: #fff !important;
	border: 1px solid rgba(44, 38, 36, 0.14) !important;
	border-radius: 8px !important;
	padding: 12px 16px !important;
	font-family: 'Lato', sans-serif !important;
	font-size: 1rem !important;
	color: var(--gn-ink) !important;
	width: 100%;
}
.comment-respond textarea:focus,
.comment-respond input:focus {
	border-color: var(--gn-pink) !important;
	box-shadow: 0 0 0 3px rgba(221, 166, 166, 0.22) !important;
	outline: none !important;
}
.comment-respond label {
	font-family: 'Lato', sans-serif !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	color: var(--gn-ink) !important;
}
.comment-respond .form-submit input,
.comment-respond #submit {
	background: var(--gn-pink) !important;
	color: #fff !important;
	font-family: 'Lato', sans-serif !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	border: 0 !important;
	border-radius: 6px !important;
	padding: 14px 32px !important;
	cursor: pointer !important;
}
.comment-respond .form-submit input:hover,
.comment-respond #submit:hover {
	background: var(--gn-pink-hover) !important;
}
.comment-list { list-style: none; margin: 0; padding: 0; }
.comment-list .comment-body {
	background: #fff;
	border: 1px solid var(--gn-border);
	border-radius: 16px 4px 16px 4px;
	padding: 20px 24px;
	margin-bottom: 16px;
}
.comment-list .comment-metadata,
.comment-list .comment-metadata a { font-size: 13px !important; color: var(--gn-grey) !important; }
.comment-list .comment-author .fn { font-family: 'Lato', sans-serif !important; font-weight: 700 !important; font-style: normal !important; color: var(--gn-ink) !important; }

/* Like button (anonymous, cookie-based) */
.gn-thought-date { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.gn-like-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: transparent;
	border: 1px solid var(--gn-border);
	border-radius: 999px;
	padding: 5px 13px;
	font-family: 'Lato', sans-serif;
	font-size: 12px;
	font-weight: 700;
	color: var(--gn-body);
	cursor: pointer;
	transition: background 120ms ease-out, border-color 120ms ease-out, color 120ms ease-out;
}
.gn-like-btn:hover { background: var(--gn-blush); border-color: var(--gn-pink); color: var(--gn-pink-hover); }
.gn-like-btn.is-liked { background: var(--gn-blush); border-color: var(--gn-pink); color: var(--gn-ink); }
.gn-like-btn .gn-like-icon { font-size: 14px; line-height: 1; }
.gn-like-btn:disabled { opacity: 0.45; pointer-events: none; }
.gn-like-wrap { margin-top: 24px; }

/* Reply/comment indicator — same pill shape as the like button, same
   understated icon+count language, just no "liked" active state. */
.gn-thought-meta-actions { display: inline-flex; align-items: center; gap: 8px; }
.gn-reply-indicator {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: transparent;
	border: 1px solid var(--gn-border);
	border-radius: 999px;
	padding: 5px 13px;
	font-family: 'Lato', sans-serif;
	font-size: 12px;
	font-weight: 700;
	color: var(--gn-body);
	text-decoration: none;
	transition: background 120ms ease-out, border-color 120ms ease-out, color 120ms ease-out;
}
.gn-reply-indicator:hover { background: var(--gn-blush); border-color: var(--gn-pink); color: var(--gn-pink-hover); }
.gn-reply-indicator .gn-reply-icon { display: inline-flex; line-height: 1; }
.gn-reply-indicator .gn-reply-icon svg { display: block; }
.gn-thought-card .wp-block-shortcode { margin-top: 12px; background: none !important; padding: 0 !important; border: 0 !important; }

/* Submit flow: consent line + "email me replies" box shown after an anonymous submit */
.gn-consent { display: flex; align-items: flex-start; gap: 0.7rem; margin: 0 0 1.1rem; font-size: 0.95rem; line-height: 1.5; color: var(--gn-body); cursor: pointer; text-align: left; }
.gn-consent input[type="checkbox"] { flex: 0 0 auto; width: 20px; height: 20px; margin: 0.15rem 0 0; accent-color: var(--gn-pink-press); }
.gn-claim-box.gn-blush-panel { margin: 1.75rem 0 1.5rem !important; padding: 1.5rem 1.25rem; max-width: none !important; text-align: left; }
.gn-claim-box[hidden] { display: none !important; }
.gn-claim-title { font-family: 'Playfair Display', Georgia, serif; font-size: 1.25rem; color: var(--gn-ink); margin: 0 0 0.5rem; }
