/*
 * Theme Name:  The Quant Room
 * Description: Child theme of Forme — site-specific tokens and chrome for The Quant Room (Option 7 · Academy).
 * Template:    forme-theme
 * Version:     0.1.0
 * Requires PHP: 8.1
 * Text Domain: tqr-child
 */

/* Only site-specific overrides belong here. Anything reusable goes in
   forme-refactor/forme-theme or forme-blocks. */

:root {
	--tqr-ink:        #0B1B33;
	--tqr-blue:       #1463F3;
	--tqr-blue-dark:  #0F4FD0;
	--tqr-wash:       #F5F8FE;
	--tqr-amber:      #D9930D;
	--tqr-amber-bg:   #FFF4DC;
	--tqr-radius:     14px;
	--forme-button-radius: 10px;

	/* Brand rule: no red anywhere — errors render amber. */
	--forme-status-error:      #9A6200;
	--forme-status-error-bg:   #FFF4DC;
	--forme-status-warning:    #9A6200;
	--forme-status-warning-bg: #FFF4DC;
	--forme-status-success:    #0F6E4E;
	--forme-status-success-bg: #E9F7F1;
}

/* ── Header ────────────────────────────────────────────────────────────── */
/* Background comes from Forme Settings (header colour + opacity). */
.tqr-header {
	border-bottom: 1px solid var(--wp--preset--color--border);
	gap: 16px;
}
.tqr-brand .wp-block-site-title a { color: var(--tqr-ink); text-decoration: none; }
.tqr-nav .wp-block-navigation-item__content {
	font-size: 14px;
	font-weight: 500;
	color: var(--tqr-ink);
	padding: 6px 12px;
	border-radius: 999px;
}
.tqr-nav .current-menu-item > .wp-block-navigation-item__content,
.tqr-nav .wp-block-navigation-item__content[aria-current="page"] {
	background: var(--wp--preset--color--surface);
	color: var(--tqr-blue);
}
/* "Soon" badge: add the CSS class tqr-soon to any menu link (Advanced → CSS class) */
.tqr-soon > .wp-block-navigation-item__content::after {
	content: "Soon";
	font-family: var(--wp--preset--font-family--mono);
	font-size: 9px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--muted);
	padding: 2px 6px;
	border-radius: 999px;
	margin-left: 6px;
	vertical-align: 1px;
}
.tqr-btn-sm .wp-block-button__link { padding: 10px 16px; font-size: 14px; white-space: nowrap; }
.tqr-brand { flex-shrink: 0; }
.tqr-brand .wp-block-site-logo img { width: 32px; height: 32px; display: block; }
.tqr-nav .wp-block-navigation-item__content { white-space: nowrap; }
.tqr-header-cta { flex-shrink: 0; margin-left: auto !important; } /* WP flex layout zeroes child margins */

/* Below 1024px the three tabs + button don't fit on one line: use the menu toggle.
   (WordPress only switches at 600px by default.) */
@media (max-width: 1023px) {
	.tqr-nav .wp-block-navigation__responsive-container-open { display: flex !important; }
	.tqr-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.tqr-nav { order: 3; margin-left: 4px; }
}
.tqr-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 20px; padding: 10px 0; }
.tqr-brand .wp-block-site-title,
.tqr-brand .wp-block-site-title a { text-transform: none; letter-spacing: -0.01em; margin: 0; }

/* Phone: keep the sign-up button visible next to the menu toggle */
@media (max-width: 781px) {
	.tqr-brand .wp-block-site-title { font-size: 15px !important; white-space: nowrap; }
	.tqr-header { padding-left: 16px !important; padding-right: 16px !important; }
	.tqr-header .wp-block-navigation { order: 3; }
	.tqr-btn-sm .wp-block-button__link { padding: 9px 12px; font-size: 13px; }
}

/* ── Footer ────────────────────────────────────────────────────────────── */
.tqr-footer { border-top: 1px solid var(--wp--preset--color--border); }
.tqr-footer .tqr-footer__disclaimer { max-width: 640px; }
.tqr-footer .tqr-disclaimer,
.tqr-footer .tqr-copyright { font-size: 13px; line-height: 1.6; }
.tqr-footer .tqr-copyright { margin-top: 24px; opacity: 0.7; }
.tqr-legal-nav .wp-block-navigation-item__content { font-size: 13px; }

/* ── Page sections (home + landing pages) ─────────────────────────────── */
.tqr-main .forme-container__inner > * + * { margin-top: 20px; }
.tqr-main .forme-container__inner > .wp-block-columns,
.tqr-main .forme-container__inner > .wp-block-group,
.tqr-main .forme-container__inner > .wp-block-table,
.tqr-main .forme-container__inner > .forme-li,
.tqr-main .forme-container__inner > .forme-pf { margin-top: 32px; }
.tqr-main h2.wp-block-heading { font-size: clamp(28px, 4.2vw, 40px); max-width: 22ch; margin-bottom: 0; }
.tqr-main h2.wp-block-heading.has-text-align-center { margin-inline: auto; }
.tqr-main .is-style-forme-eyebrow + .wp-block-heading { margin-top: 6px; }
.tqr-lead { font-size: clamp(16px, 1.6vw, 18px); line-height: 1.6; color: var(--wp--preset--color--muted); max-width: 68ch; }
.tqr-muted { color: var(--wp--preset--color--muted) !important; }
.tqr-gap-lg { gap: 20px !important; }
.tqr-h-small { font-size: 16px !important; margin-top: 24px !important; }

/* Hero */
.tqr-hero__title { font-size: clamp(34px, 6vw, 60px) !important; line-height: 1.04 !important; margin: 8px 0 18px; }
.tqr-hero .wp-block-buttons { margin-top: 24px; gap: 10px; }
.tqr-hero-card { box-shadow: 0 20px 50px rgba(11, 27, 51, 0.10); }
.tqr-hero-card h3 { font-size: 22px !important; line-height: 1.2; margin: 10px 0 16px !important; }
.tqr-hero-card .is-style-forme-checklist { font-size: 14px; }
.tqr-chip {
	display: inline-block;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	background: var(--wp--preset--color--surface);
	color: var(--tqr-blue);
	padding: 4px 10px;
	border-radius: 999px;
	margin: 0;
}
.tqr-chip--muted { color: var(--wp--preset--color--muted); }
.tqr-full { margin-top: 20px; }
.tqr-full .wp-block-button { width: 100%; }
.tqr-full .wp-block-button__link { width: 100%; text-align: center; }
.tqr-btn-dark .wp-block-button__link { background: var(--tqr-ink); color: #fff; }
.tqr-btn-dark .wp-block-button__link:hover { background: #142A4D; }
.wp-block-button.is-style-outline .wp-block-button__link { background: #fff; color: var(--tqr-ink); border: 1px solid var(--wp--preset--color--border); }

/* Curve fitting + portfolio */
.tqr-punchline { font-weight: 600; font-size: 17px; color: var(--tqr-ink); text-align: center; }
.tqr-edge-tiles { gap: 12px !important; }
.tqr-big-num { font-family: var(--wp--preset--font-family--mono); font-size: 40px !important; line-height: 1; color: var(--tqr-blue) !important; margin: 0 0 6px; }
.tqr-pf-compare { margin-top: 20px !important; }

/* Founder */
.tqr-photo-placeholder {
	aspect-ratio: 1;
	max-width: 220px;
	border-radius: 50%;
	background: var(--wp--preset--color--surface);
	display: grid;
	place-items: center;
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12px;
}
.tqr-founder__note { font-size: clamp(18px, 2.2vw, 22px); line-height: 1.5; color: var(--tqr-ink); }
.tqr-founder__name { color: var(--wp--preset--color--muted); }

/* FAQ (core/details) */
.tqr-faq .wp-block-details {
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding: 18px 0;
	margin: 0 !important;
}
.tqr-faq .wp-block-details summary {
	cursor: pointer;
	font-weight: 600;
	font-size: 17px;
	list-style: none;
	display: flex;
	justify-content: space-between;
	gap: 16px;
}
.tqr-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.tqr-faq { max-width: 760px; margin-inline: auto !important; }
.tqr-faq .wp-block-details summary::after { content: "+"; display: inline-block; color: var(--tqr-blue); font-size: 22px; line-height: 1; transition: transform .2s; }
.tqr-faq .wp-block-details[open] summary::after { transform: rotate(45deg); }
.tqr-faq .wp-block-details p { color: var(--wp--preset--color--muted); margin: 10px 0 0; }

/* Phone: comfortable spacing, sign-up visible early */
@media (max-width: 781px) {
	/* !important: the container sets these custom properties inline */
	.tqr-main .forme-container { --forme-container-pt: 44px !important; --forme-container-pb: 44px !important; --forme-container-pl: 16px !important; --forme-container-pr: 16px !important; }
	.tqr-main .forme-container.tqr-hero { --forme-container-pt: 24px !important; }
	.tqr-hero .wp-block-buttons .wp-block-button { width: 100%; }
	.tqr-hero .wp-block-buttons .wp-block-button__link { width: 100%; text-align: center; }
	.tqr-edge-tiles { grid-template-columns: repeat(4, 1fr) !important; gap: 8px !important; }
	.tqr-edge-tiles .is-style-forme-locked { min-height: 84px; padding: 12px !important; }
	.tqr-photo-placeholder { max-width: 140px; margin-inline: auto; }
}
.tqr-landing-title { font-size: clamp(32px, 5.4vw, 52px) !important; line-height: 1.06 !important; margin: 6px 0 14px; }
/* Phone: on the ads landing page put the form straight after the headline */
@media (max-width: 781px) {
	.tqr-main .forme-container#seminar .tqr-see { margin-top: 24px; }
}
/* Wide screens: tabs centred between logo and button, as in the layout */
@media (min-width: 1024px) {
	.tqr-header .tqr-nav { flex: 1 1 auto; justify-content: center; }
	.tqr-header .tqr-nav .wp-block-navigation__container { justify-content: center; gap: 6px; }
	.tqr-header .tqr-header-cta { margin-left: 0 !important; }
}
