/* ==========================================================================
   STEM Teacher Network – theme styles
   Colours come from theme.json (Appearance → Editor → Styles → Colours).
   ========================================================================== */

:root {
	--stn-navy: var(--wp--preset--color--navy, #0B2A5B);
	--stn-blue: var(--wp--preset--color--blue, #1565C0);
	--stn-sky: var(--wp--preset--color--sky, #E8F1FB);
	--stn-orange: var(--wp--preset--color--orange, #F57C1F);
	--stn-orange-dk: var(--wp--preset--color--orange-dark, #D9650A);
	--stn-peach: var(--wp--preset--color--peach, #FFF1E6);
	--stn-green: var(--wp--preset--color--green, #1A7F4B);
	--stn-ink: var(--wp--preset--color--ink, #14213D);
	--stn-muted: var(--wp--preset--color--muted, #55627A);
	--stn-line: var(--wp--preset--color--line, #DCE3EE);
	--stn-on-navy: #C9D6EC;
	--stn-radius: 14px;
	--stn-shadow: 0 12px 30px rgba(11, 42, 91, .12);
	--stn-section: clamp(56px, 8vw, 84px);
}

html { -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; }
img, svg { max-width: 100%; }
.wp-site-blocks > * { margin-block-start: 0; }
.wp-site-blocks { padding-top: 0; padding-bottom: 0; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important;
}

/* Small helpers ----------------------------------------------------------- */
.stn-eyebrow, .is-style-stn-eyebrow {
	font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	color: var(--stn-orange-dk); margin: 0 0 .5rem;
}
.stn-eyebrow a { color: inherit; text-decoration: none; }
.stn-muted { color: var(--stn-muted); }
.stn-empty {
	background: var(--stn-sky); border-radius: var(--stn-radius); padding: 22px 26px; color: var(--stn-ink);
}
.stn-empty a { font-weight: 700; }

/* Buttons ------------------------------------------------------------------ */
.wp-element-button, .wp-block-button__link { transition: background-color .15s, color .15s, border-color .15s; }
.wp-block-button.is-style-navy .wp-block-button__link { background: var(--stn-navy); color: #fff; }
.wp-block-button.is-style-navy .wp-block-button__link:hover { background: var(--stn-blue); }
.wp-block-button.is-style-outline-light .wp-block-button__link { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.7); }
.wp-block-button.is-style-outline-light .wp-block-button__link:hover { background: rgba(255,255,255,.12); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--stn-navy); border: 2px solid currentColor; }

/* ==========================================================================
   Header
   ========================================================================== */
.stn-site-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .stn-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .stn-site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .stn-site-header { top: 0; } }

.stn-strip {
	background: var(--stn-orange); color: #fff; font-size: .88rem; font-weight: 600;
	padding-top: .5em; padding-bottom: .5em;
}
.stn-strip p { margin: 0; }
.stn-strip a { color: #fff; font-weight: 800; }

.stn-header { background: #fff; border-bottom: 1px solid var(--stn-line); }
.stn-header__inner { min-height: 78px; gap: 20px; }
.stn-header__right { gap: 14px; }
.stn-header__inner > *, .stn-header__right > * { margin: 0 !important; }
.stn-header p:empty { display: none; }

.stn-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; flex-shrink: 0; }
.stn-logo__mark { display: block; flex-shrink: 0; }
.stn-logo__text { font-weight: 800; line-height: 1; color: var(--stn-navy); font-size: 1.05rem; }
.stn-logo__tag { display: block; color: var(--stn-orange-dk); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; margin-top: 5px; }

.stn-nav { font-weight: 600; font-size: .97rem; gap: 24px; }
.stn-nav .wp-block-navigation-item__content { padding: 6px 0; border-bottom: 3px solid transparent; color: var(--stn-ink); text-decoration: none; }
.stn-nav .wp-block-navigation-item__content:hover,
.stn-nav .current-menu-item > .wp-block-navigation-item__content { border-bottom-color: var(--stn-orange); color: var(--stn-ink); }
.stn-nav .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
.stn-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 24px; background: #fff;
}
.stn-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 48px; gap: 6px; }
.stn-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.3rem; font-weight: 700; }

.stn-icon-btn {
	width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--stn-line);
	display: grid; place-items: center; background: #fff; color: var(--stn-navy); position: relative; flex-shrink: 0;
}
.stn-icon-btn:hover { border-color: var(--stn-blue); color: var(--stn-blue); }
.stn-basket__count {
	position: absolute; top: -4px; right: -4px; background: var(--stn-orange); color: #fff;
	font-size: .7rem; font-weight: 800; min-width: 18px; height: 18px; border-radius: 9px; display: grid; place-items: center; padding: 0 4px;
}
.stn-header__cta { margin: 0; }
.stn-header__cta .wp-block-button__link { white-space: nowrap; }

@media (min-width: 601px) and (max-width: 1080px) {
	.stn-header .stn-header__cta { display: none !important; }
	.stn-header .stn-logo__tag { display: none; }
	.stn-nav { gap: 16px; font-size: .92rem; }
}
@media (max-width: 600px) {
	.stn-header .stn-header__cta { display: none !important; }
	.stn-header__inner { min-height: 66px; gap: 10px; }
	.stn-logo__mark { width: 40px; height: 40px; }
	.stn-logo__text { font-size: .95rem; }
	.stn-header .stn-logo__tag { display: none; }
	.stn-strip { font-size: .8rem; }
}

/* ==========================================================================
   Hero (homepage) and page headers
   ========================================================================== */
.stn-hero, .stn-page-head {
	background-color: var(--stn-navy);
	background-image: radial-gradient(rgba(255,255,255,.16) 1.4px, transparent 1.6px);
	background-size: 28px 28px;
	color: #fff;
}
.stn-hero { padding-top: clamp(48px, 7vw, 72px); padding-bottom: clamp(90px, 10vw, 128px); }
.stn-hero__cols { gap: 40px; margin: 0; }
.stn-hero .stn-eyebrow, .stn-page-head .stn-eyebrow { color: #FFB27A; }
.stn-hero__title { color: #fff; font-size: clamp(2rem, 4.6vw, 3.3rem); margin: 0 0 .5em; }
.stn-hero__title em { font-style: normal; color: var(--stn-orange); }
.stn-hero__lead { font-size: 1.15rem; color: var(--stn-on-navy); max-width: 36em; margin: 0 0 28px; }
.stn-hero__art svg { display: block; width: 100%; max-width: 430px; margin: 0 auto; height: auto; }
@media (max-width: 781px) { .stn-hero__art { display: none; } }

.stn-popular { margin-top: 20px; font-size: .9rem; color: var(--stn-on-navy); display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.stn-popular a {
	display: inline-block; padding: .35em .9em; border-radius: 999px; background: rgba(255,255,255,.1);
	border: 1px solid rgba(255,255,255,.22); color: #fff; text-decoration: none; font-weight: 600;
}
.stn-popular a:hover { background: rgba(255,255,255,.2); color: #fff; }

.stn-search {
	display: flex; background: #fff; border-radius: 999px; padding: 6px; max-width: 600px;
	box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.stn-search input {
	flex: 1; border: 0; outline: 0; font: inherit; padding: 0 18px; min-width: 0; color: var(--stn-ink); background: transparent;
}
.stn-search button {
	display: inline-flex; align-items: center; gap: .5em; border: 0; cursor: pointer;
	background: var(--stn-orange); color: #fff; border-radius: 999px; padding: .8em 1.3em; font: inherit; font-weight: 700; font-size: .95rem;
}
.stn-search button:hover { background: var(--stn-orange-dk); }
.stn-search:focus-within { box-shadow: 0 0 0 3px #FFB27A, 0 10px 30px rgba(0,0,0,.25); }
@media (max-width: 600px) { .stn-search button span { display: none; } }

.stn-page-head { padding-top: clamp(40px, 6vw, 64px); padding-bottom: clamp(40px, 6vw, 64px); }
.stn-page-head h1, .stn-page-head .wp-block-post-title, .stn-page-head .wp-block-query-title { color: #fff; margin: 0 0 .4em; font-size: clamp(1.9rem, 4vw, 2.9rem); }
.stn-page-head__lead, .stn-page-head .wp-block-post-excerpt { color: var(--stn-on-navy); font-size: 1.12rem; max-width: 42em; margin: 0; }
.stn-page-head .wp-block-post-excerpt__excerpt { margin: 0; }
.stn-page-head > .stn-page-head__lead, .stn-page-head > .wp-block-post-excerpt, .stn-page-head > .stn-search { margin-left: 0 !important; }
.stn-header .wp-block-woocommerce-customer-account a, .stn-header .wc-block-mini-cart__button { color: var(--stn-navy); }
.stn-page-head .stn-search { margin-top: 20px; }
.stn-page-head a { color: #fff; }
.stn-byline { gap: 6px 18px; margin-top: 18px; color: var(--stn-on-navy); font-size: .95rem; }
.stn-byline > * { margin: 0; }

/* Taxonomy “pills” -------------------------------------------------------- */
.stn-tag, .stn-terms a {
	display: inline-block; background: var(--stn-peach); color: var(--stn-orange-dk);
	padding: .2em .7em; border-radius: 999px; font-weight: 700; font-size: .75rem;
	text-transform: uppercase; letter-spacing: .04em; text-decoration: none; line-height: 1.5;
}
.stn-tag--blue, .stn-terms--blue a { background: var(--stn-sky); color: var(--stn-blue); }
.stn-terms { font-size: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.stn-terms .wp-block-post-terms__separator { display: none; }
.stn-terms a[href*="/uncategorized/"], .stn-terms a[href*="/uncategorised/"] { display: none; }
.stn-terms--light a, .stn-page-head .stn-terms a { background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.25); }
.stn-page-head .stn-terms { margin-bottom: 14px; }

/* ==========================================================================
   Homepage sections
   ========================================================================== */
.stn-section { padding-top: var(--stn-section); padding-bottom: var(--stn-section); }
.stn-section--flush-top { padding-top: 0; }
.stn-band-peach { background: var(--stn-peach); }
.stn-band-peach + .stn-section--flush-top { padding-top: var(--stn-section); }

.stn-sec-head { gap: 12px 24px; margin-bottom: 28px; }
.stn-sec-head h2 { margin: 0; }
.stn-sec-head__intro, .stn-sec-intro { color: var(--stn-muted); max-width: 40em; margin: 0; }
.stn-sec-intro { margin: -12px 0 28px !important; }
.stn-link-arrow { margin: 0; }
.stn-link-arrow a { font-weight: 700; text-decoration: none; white-space: nowrap; }
.stn-link-arrow a:hover { text-decoration: underline; }

/* Explore by phase */
.stn-explore { position: relative; z-index: 2; margin-top: -54px; }
.stn-explore__card { background: #fff; border-radius: var(--stn-radius); box-shadow: 0 12px 40px rgba(11,42,91,.14); padding: 26px 28px; }
.stn-explore__title { font-size: 1.1rem; margin: 0 0 16px; }
.stn-phase-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.stn-phase {
	display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 12px;
	border: 1px solid var(--stn-line); text-decoration: none; font-weight: 700; color: var(--stn-ink); transition: .15s;
}
.stn-phase:hover { border-color: var(--stn-blue); background: var(--stn-sky); color: var(--stn-ink); }
.stn-phase small { display: block; font-weight: 500; color: var(--stn-muted); font-size: .82rem; }
.stn-phase__ic { width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; flex-shrink: 0; color: #fff; font-weight: 800; }
@media (max-width: 980px) { .stn-phase-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .stn-phase-grid { grid-template-columns: 1fr; } .stn-explore__card { padding: 22px 18px; } }

/* Pillars */
.stn-pillars { gap: 20px; }
.stn-pillar { padding: 26px; border-radius: var(--stn-radius); background: var(--stn-sky); position: relative; overflow: hidden; --c: var(--stn-blue); }
.stn-pillar--orange { --c: var(--stn-orange); }
.stn-pillar--navy { --c: var(--stn-navy); }
.stn-pillar--green { --c: var(--stn-green); }
.stn-pillar::after { content: ""; position: absolute; right: -30px; top: -30px; width: 90px; height: 90px; border-radius: 50%; background: var(--c); opacity: .14; }
.stn-pillar h3 { font-size: 1.15rem; margin: 0 0 .4em; }
.stn-pillar p { margin: 0; color: var(--stn-muted); font-size: .95rem; }
.stn-pillar .stn-pillar__num { font-size: .8rem; font-weight: 800; color: var(--stn-blue); margin-bottom: 24px; }
@media (max-width: 1080px) {
	.stn-pillars { display: grid !important; grid-template-columns: 1fr 1fr; gap: 20px !important; }
	.stn-pillars > .stn-pillar { margin: 0 !important; }
}
@media (max-width: 600px) { .stn-pillars { grid-template-columns: 1fr; } }

/* ==========================================================================
   Cards
   ========================================================================== */
.stn-cards {
	display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px;
	list-style: none; margin: 0; padding: 0;
}
@media (max-width: 980px) { .stn-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .stn-cards { grid-template-columns: 1fr; } }
.stn-cards > li { margin: 0; display: flex; }
.stn-cards > li > .stn-card { width: 100%; }

.stn-card {
	border: 1px solid var(--stn-line); border-radius: var(--stn-radius); overflow: hidden;
	display: flex; flex-direction: column; background: #fff; position: relative; transition: box-shadow .15s, transform .15s;
	gap: 0 !important;
}
.stn-card:hover { box-shadow: var(--stn-shadow); transform: translateY(-2px); }
.stn-card__img { aspect-ratio: 16 / 9; overflow: hidden; margin: 0 !important; background: var(--stn-sky); }
.stn-card__img img, .stn-card__img svg { width: 100%; height: 100%; object-fit: cover; display: block; }
.stn-card__img .stn-sim__vis { height: 100%; width: 100%; aspect-ratio: auto; border-radius: 0; }
.stn-card__img .stn-sim__vis svg { width: 55%; height: auto; }
.stn-card__body { padding: 22px; display: flex; flex-direction: column; gap: 8px; flex: 1; margin: 0 !important; }
.stn-card__body > * { margin: 0 !important; }
.stn-card__meta { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; font-size: .8rem; color: var(--stn-muted); font-weight: 600; }
.stn-card__meta > * { margin: 0 !important; }
.stn-card__meta .wp-block-post-date { font-size: .8rem; }
.stn-card__title, .stn-card h3 { font-size: 1.18rem !important; margin: 4px 0 0 !important; line-height: 1.25; }
.stn-card__title a, .stn-card h3 a { color: var(--stn-ink); text-decoration: none; }
.stn-card__title a::after, .stn-card h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.stn-card a:focus-visible { outline: 3px solid var(--stn-orange); outline-offset: 2px; }
.stn-card .stn-terms a, .stn-card .stn-tag { position: relative; z-index: 2; }
.stn-card__excerpt, .stn-card .wp-block-post-excerpt__excerpt { margin: 0; color: var(--stn-muted); font-size: .95rem; }
.stn-card .wp-block-post-excerpt__more-text { display: none; }
.stn-card__more { margin-top: auto !important; padding-top: 10px; font-weight: 700; color: var(--stn-blue); }

/* Simulation cards */
.stn-sim-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 980px) { .stn-sim-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .stn-sim-grid { grid-template-columns: 1fr; } }
.stn-sim {
	background: #fff; border-radius: var(--stn-radius); padding: 20px; display: flex; flex-direction: column; gap: 10px;
	border: 2px solid transparent; position: relative; transition: border-color .15s, box-shadow .15s;
}
.stn-sim[hidden] { display: none; }
.stn-sim:hover { border-color: var(--stn-orange); box-shadow: var(--stn-shadow); }
:not(.stn-band-peach) > .stn-sim-grid .stn-sim, .stn-main .stn-sim { border-color: var(--stn-line); }
.stn-main .stn-sim:hover { border-color: var(--stn-orange); }
.stn-sim__vis { aspect-ratio: 4 / 3; border-radius: 10px; background: var(--stn-navy); display: grid; place-items: center; overflow: hidden; }
.stn-sim__vis svg { width: 80%; height: auto; }
.stn-sim__vis img { width: 100%; height: 100%; object-fit: cover; }
.stn-sim__label { color: var(--stn-muted); font-weight: 600; font-size: .82rem; }
.stn-sim__title { font-size: 1.05rem; margin: 0; line-height: 1.25; }
.stn-sim__title a { color: var(--stn-ink); text-decoration: none; }
.stn-sim__title a::after { content: ""; position: absolute; inset: 0; }
.stn-sim__play { font-weight: 700; color: var(--stn-orange-dk); font-size: .9rem; margin-top: auto; }

.stn-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.stn-filters button {
	font: inherit; font-weight: 700; font-size: .9rem; padding: .45em 1.1em; border-radius: 999px; cursor: pointer;
	background: #fff; color: var(--stn-navy); border: 1px solid var(--stn-line);
}
.stn-filters button:hover { border-color: var(--stn-blue); }
.stn-filters button.is-active { background: var(--stn-navy); border-color: var(--stn-navy); color: #fff; }

/* Resource cards */
.stn-res {
	border: 1px solid var(--stn-line); border-radius: var(--stn-radius); padding: 24px; display: flex; flex-direction: column; gap: 10px;
	background: #fff; position: relative; transition: box-shadow .15s;
}
.stn-res:hover { box-shadow: var(--stn-shadow); }
.stn-res__top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.stn-price { font-weight: 800; color: var(--stn-navy); }
.stn-price.is-free { color: var(--stn-green); }
.stn-price del { color: var(--stn-muted); font-weight: 500; margin-right: 4px; }
.stn-price ins { text-decoration: none; }
.stn-res__title { font-size: 1.15rem; margin: 0; line-height: 1.25; }
.stn-res__title a { color: var(--stn-ink); text-decoration: none; }
.stn-res__title a::after { content: ""; position: absolute; inset: 0; }
.stn-res__desc { margin: 0; color: var(--stn-muted); font-size: .95rem; }
.stn-res .wp-block-button { margin-top: auto; align-self: flex-start; padding-top: 6px; }
.stn-res .wp-block-button__link { display: inline-block; }

/* ==========================================================================
   About split + quote
   ========================================================================== */
.stn-split { gap: 56px; }
.stn-quote { background: var(--stn-navy); color: #fff; border-radius: 20px; padding: 40px; position: relative; margin-top: 30px; }
.stn-quote::before { content: "\201C"; position: absolute; top: -34px; left: 28px; font-size: 7rem; color: var(--stn-orange); line-height: 1; font-weight: 800; }
.stn-quote__text { font-size: 1.3rem; font-weight: 600; line-height: 1.4; margin: 0 0 18px; }
.stn-quote__who { color: var(--stn-on-navy); font-size: .95rem; margin: 0; }
.stn-quote__who strong { color: #fff; }
@media (max-width: 600px) { .stn-quote { padding: 32px 24px; } }

.stn-ticks { list-style: none; padding: 0; margin: 20px 0 28px; display: grid; gap: 10px; }
.stn-ticks li { padding-left: 34px; position: relative; }
.stn-ticks li::before {
	content: ""; position: absolute; left: 0; top: 3px; width: 22px; height: 22px; border-radius: 50%;
	background: var(--stn-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center / 14px no-repeat;
}

/* ==========================================================================
   Newsletter
   ========================================================================== */
.stn-news-wrap { padding-bottom: var(--stn-section); }
.stn-news-wrap:first-child, .stn-band-peach + .stn-news-wrap, .stn-page-head + .stn-news-wrap { padding-top: var(--stn-section); }
.stn-main + .stn-news-wrap { padding-top: 0; }
.stn-news { background: var(--stn-blue); color: #fff; border-radius: 22px; padding: clamp(28px, 5vw, 48px); position: relative; overflow: hidden; scroll-margin-top: 120px; }
.stn-news::after { content: ""; position: absolute; right: -60px; top: -60px; width: 260px; height: 260px; border-radius: 50%; background: #fff; opacity: .12; pointer-events: none; }
.stn-news .wp-block-columns { gap: 36px; margin: 0; position: relative; z-index: 1; }
.stn-news h2 { color: #fff; margin: 0 0 .3em; }
.stn-news p { color: #D7E6F8; margin: 0; }
.stn-news-form *, .stn-search * { box-sizing: border-box; }
.stn-news-form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.stn-news-form input[type=text], .stn-news-form input[type=email], .stn-news-form select {
	font: inherit; padding: .8em 1em; border-radius: 10px; border: 0; min-width: 0; width: 100%; background: #fff; color: var(--stn-ink);
}
.stn-news-form .stn-full { grid-column: 1 / -1; }
.stn-news-form button { border: 0; cursor: pointer; background: var(--stn-orange); color: #fff; font: inherit; font-weight: 700; padding: .85em; border-radius: 999px; }
.stn-news-form button:hover { background: var(--stn-orange-dk); }
.stn-consent { font-size: .85rem; color: #D7E6F8; display: flex; gap: 8px; align-items: flex-start; line-height: 1.4; }
.stn-consent input { margin-top: 2px; width: 16px; height: 16px; flex-shrink: 0; accent-color: var(--stn-orange); }
.stn-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.stn-news-done { background: rgba(255,255,255,.14); border-radius: 12px; padding: 20px; color: #fff; }
.stn-news-error { background: #fff; color: #9b1c1c !important; border-radius: 8px; padding: 8px 12px; margin-bottom: 10px !important; font-weight: 600; }
@media (max-width: 600px) { .stn-news-form { grid-template-columns: 1fr; } }

/* ==========================================================================
   Footer
   ========================================================================== */
.stn-footer { background: var(--stn-navy); color: var(--stn-on-navy); padding-top: 64px; padding-bottom: 28px; font-size: .93rem; }
.stn-footer__cols { gap: 32px; }
.stn-footer h4 { color: #fff; margin: 0 0 14px; font-size: 1rem; }
.stn-footer ul.wp-block-social-links { display: flex; }
.stn-footer ul.wp-block-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.stn-footer a { color: var(--stn-on-navy); text-decoration: none; }
.stn-footer a:hover { color: #fff; text-decoration: underline; }
.stn-footer p { margin: 0 0 10px; }
.stn-footer__brand { color: #fff; font-weight: 800; font-size: 1.15rem; margin: 0 !important; }
.stn-footer__tag { color: #FFB27A; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; margin-bottom: 14px !important; }
.stn-social { gap: 10px; margin-top: 18px; }
.stn-social .wp-social-link { background: rgba(255,255,255,.1) !important; color: #fff !important; }
.stn-social .wp-social-link:hover { background: var(--stn-orange) !important; }
.stn-footer__bottom { border-top: 1px solid rgba(255,255,255,.15); margin-top: 44px; padding-top: 22px; font-size: .85rem; gap: 16px; }
.stn-footer__bottom p { margin: 0; }
@media (min-width: 600px) and (max-width: 781px) {
	.stn-footer__cols { flex-wrap: wrap !important; }
	.stn-footer__cols > .wp-block-column { flex-basis: calc(50% - 16px) !important; }
}

/* ==========================================================================
   Articles, pages and simulations
   ========================================================================== */
.stn-main { padding-top: clamp(36px, 6vw, 64px); padding-bottom: var(--stn-section); }
.stn-home { padding-top: 0; padding-bottom: 0; }
.stn-article { font-size: 1.0625rem; }
.stn-article > .wp-block-post-featured-image { margin-bottom: 2rem; border-radius: var(--stn-radius); overflow: hidden; }
.stn-article .wp-block-post-content > * + * { margin-block-start: 1.1em; }
.stn-article .wp-block-post-content h2 { margin-top: 1.8em; }
.stn-article .wp-block-post-content h3 { margin-top: 1.5em; }
.stn-article .wp-block-post-content img { border-radius: 10px; }
.stn-article blockquote { font-size: 1.15rem; font-weight: 600; }
.stn-article .wp-block-table table { border-collapse: collapse; width: 100%; }
.stn-article .wp-block-table th { background: var(--stn-sky); }
.stn-article .wp-block-table td, .stn-article .wp-block-table th { border: 1px solid var(--stn-line); padding: .6em .8em; }
.stn-article .wp-block-file { background: var(--stn-sky); border-radius: 12px; padding: 16px 20px; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.stn-article .wp-block-file a:not(.wp-block-file__button) { font-weight: 700; }
.stn-article .wp-block-file__button { background: var(--stn-orange); color: #fff; border-radius: 999px; padding: .6em 1.2em; font-weight: 700; text-decoration: none; }
.stn-article__tags { margin-top: 2em; color: var(--stn-muted); font-size: .95rem; }
.stn-post-nav { margin-top: 1.5em; font-weight: 700; }
.stn-post-nav a { text-decoration: none; }

.stn-pagination { margin-top: 40px; gap: 8px; font-weight: 700; }
.stn-pagination a, .stn-pagination .current { display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding: 0 12px; border: 1px solid var(--stn-line); border-radius: 999px; text-decoration: none; }
.stn-pagination .current { background: var(--stn-navy); color: #fff; border-color: var(--stn-navy); }

/* Simulation frame */
.stn-sim-frame { border-radius: 16px; overflow: hidden; border: 1px solid var(--stn-line); box-shadow: var(--stn-shadow); background: #fff; }
.stn-sim-frame__bar { display: flex; align-items: center; gap: 10px; background: var(--stn-navy); color: #fff; padding: 10px 14px; font-weight: 700; font-size: .92rem; flex-wrap: wrap; }
.stn-sim-frame__dots { display: flex; gap: 6px; }
.stn-sim-frame__dots i { width: 11px; height: 11px; border-radius: 50%; background: rgba(255,255,255,.3); display: block; }
.stn-sim-frame__dots i:first-child { background: var(--stn-orange); }
.stn-sim-frame__title { flex: 1; min-width: 120px; }
.stn-sim-frame__btn {
	font: inherit; font-size: .85rem; font-weight: 700; color: #fff; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25);
	border-radius: 999px; padding: .35em .9em; cursor: pointer; text-decoration: none;
}
.stn-sim-frame__btn:hover { background: var(--stn-orange); border-color: var(--stn-orange); color: #fff; }
.stn-sim-frame__iframe { display: block; width: 100%; border: 0; min-height: 420px; background: #fff; }
.stn-sim-page .stn-article { margin-top: 48px; }

/* ==========================================================================
   WooCommerce touches
   ========================================================================== */
.woocommerce .price, .wc-block-components-product-price, .wc-block-grid__product-price { color: var(--stn-navy); font-weight: 800; }
.wc-block-components-product-sale-badge, .onsale { background: var(--stn-orange) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; }
.wp-block-woocommerce-product-template .wc-block-components-product-image, .wc-block-grid__product-image img { border-radius: 12px; overflow: hidden; }
.wc-block-components-button:not(.is-link), .woocommerce a.button, .woocommerce button.button {
	background: var(--stn-orange) !important; color: #fff !important; border-radius: 999px !important; font-weight: 700 !important;
}
.wc-block-components-button:not(.is-link):hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--stn-orange-dk) !important; }
.woocommerce-store-notice, p.demo_store { background: var(--stn-navy) !important; }

/* Editor niceties --------------------------------------------------------- */
.editor-styles-wrapper .stn-site-header { position: relative; top: 0; }
.editor-styles-wrapper .wp-block-shortcode { font-size: .85rem; }
