/*
Theme Name: PStack Golden
Theme URI: https://pstack.site/
Author: PStack
Description: Editable placeholder-driven landing page reproducing the golden.pstack.site section order, palette and typography. Fonts self-hosted (SIL OFL); no third-party requests.
Version: 0.2.0
Requires at least: 6.3
Requires PHP: 8.0
Text Domain: pstack-golden
*/

/* Self-hosted fonts (latin). Open Sans is declared at 400 and 600 only, matching the reference's loaded weights. */
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/poppins-600-latin.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/poppins-700-latin.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/opensans-variable-latin.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/opensans-variable-latin.woff2) format("woff2")}

/* Design tokens taken from the reference's global styles */
:root{
	--accent:#79015D;      /* accent-1 */
	--contrast:#040744;    /* contrast */
	--link:#2EA3F2;        /* accent-3 */
	--rule:#E0E2EE;        /* accent-6 */
	--text:#222222;
	--base:#FFFFFF;
	--fs-small:.875rem;
	--fs-medium:clamp(1rem, 1rem + ((1vw - 0.2rem) * 0.196), 1.125rem);
	--fs-large:clamp(1.125rem, 1.125rem + ((1vw - 0.2rem) * 0.392), 1.375rem);
	--fs-xlarge:clamp(1.75rem, 1.75rem + ((1vw - 0.2rem) * 0.392), 2rem);
	--fs-xxlarge:clamp(2.15rem, 2.15rem + ((1vw - 0.2rem) * 1.333), 3rem);
	--gap:1.2rem;
	--sp50:clamp(30px, 5vw, 50px);
	--sp60:clamp(30px, 7vw, 70px);
	--content:860px;
	--wide:1200px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--base);color:var(--text);font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:var(--fs-large);font-weight:300;letter-spacing:-.1px;line-height:1.4;overflow-wrap:break-word}
h1,h2,h3,h4,h5,h6{color:inherit;font-family:Poppins,Helvetica,Arial,sans-serif;font-weight:700;letter-spacing:-.1px;line-height:1.125;margin:0}
h1{font-size:var(--fs-xxlarge)}
h2{font-size:var(--fs-xlarge)}
h3{font-size:var(--fs-large)}
p,ul{margin:0}
a{color:var(--link);text-decoration:underline}
a:hover{text-decoration:none}
.center{text-align:center}

/* Layout */
.wrap{max-width:var(--content);margin:0 auto}
.wrap-wide{max-width:var(--wide);margin:0 auto}
.wrap>*+*,.column>*+*{margin-top:var(--gap)}
/* Block-gap between consecutive top-level blocks (header → main → footer, band → band), as in core flow layout */
.site-main{padding:var(--sp60) 0;margin-top:var(--gap)}
.band{padding:80px 24px}
.band+.band{margin-top:var(--gap)}
.band-dark{background:var(--contrast);color:var(--base)}
.band-accent{background:var(--accent);color:var(--base)}

/* Header */
.site-header{background:var(--base);padding:18px 24px}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--gap);flex-wrap:wrap}
.site-title{font-size:var(--fs-large);font-weight:700;letter-spacing:-.5px}
.site-title a,.nav a{color:inherit;text-decoration:none}
.site-title a:hover,.nav a:hover{text-decoration:underline}
.nav{font-size:var(--fs-medium)}
.nav-links{display:flex;gap:var(--gap);flex-wrap:wrap}
.nav-toggle,.nav-burger{display:none}

/* Buttons */
.buttons{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.btn{display:inline-block;background:var(--accent);color:#fff;border-radius:6px;font-size:var(--fs-medium);font-weight:600;line-height:1.4;padding:1rem 2.25rem;text-decoration:none}
.btn:hover{text-decoration:underline;color:#fff}

/* Lists, columns, FAQ */
.list{padding-left:40px}
.list li+li{margin-top:.5rem}
.columns{display:flex;gap:var(--sp50);flex-wrap:nowrap}
.column{flex:1 1 0;min-width:0}
.faq{border-bottom:1px solid var(--rule);padding:16px 0}
.faq summary{font-weight:600;cursor:pointer}
.faq p{margin-top:var(--gap)}
.wrap>.faq+.faq{margin-top:var(--gap)}

/* Footer */
.site-footer{background:var(--contrast);color:var(--base);padding:48px 24px;margin-top:var(--gap)}
.site-footer .wrap-wide>*+*{margin-top:var(--gap)}
.small{font-size:var(--fs-small)}

/* Columns stack like core columns below 782px */
@media (max-width:781px){
	.columns{flex-wrap:wrap}
	.column{flex-basis:100%}
}

/* Phone menu (core navigation collapses to a toggle below 600px) */
@media (max-width:599px){
	.nav-burger{display:block;cursor:pointer;width:24px;height:24px;position:relative}
	.nav-burger span,.nav-burger span::before,.nav-burger span::after{position:absolute;left:2px;width:20px;height:2px;background:currentColor;content:""}
	.nav-burger span{top:11px}
	.nav-burger span::before{top:-6px;left:0}
	.nav-burger span::after{top:6px;left:0}
	.nav-links{display:none;flex-direction:column;width:100%;padding-top:var(--gap)}
	.nav{display:flex;flex-direction:column;align-items:flex-end}
	.nav-toggle:checked~.nav-links{display:flex;align-items:flex-end}
	.nav-toggle:focus-visible+.nav-burger{outline:2px solid var(--link);outline-offset:2px}
}
