/**
 * Georgia Southern Magazine styles.
 *
 * Colors and type follow the university's Carnegie theme
 * (georgiasouthern.edu/wp-content/themes/carnegie): Inter for body and headings,
 * Montserrat for meta text, Bitter for captions, loaded from Google Fonts in
 * functions.php. Palette values come from theme.json presets.
 */

:root {
	--gs-blue: var(--wp--preset--color--primary);
	--gs-gold: var(--wp--preset--color--secondary);
	--gs-gold-a11y: var(--wp--preset--color--custom-gold-accessible);
	--gs-gold-athletic: var(--wp--preset--color--custom-yellow);
	--gs-gray: var(--wp--preset--color--custom-gray);
	--gs-gray-lt: var(--wp--preset--color--custom-light-gray);
	--gs-gray-dk: var(--wp--preset--color--custom-gray-dark);
	--gs-white: #fff;
	--gs-inter: var(--wp--preset--font-family--inter);
	--gs-montserrat: var(--wp--preset--font-family--montserrat);
	--gs-bitter: var(--wp--preset--font-family--bitter);
	--gs-transition: .4s ease;
}

/* ==========================================================================
   Utilities
   ========================================================================== */
.text-hide { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; }
div.grecaptcha-badge { display: none !important; }
.clip { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; }
.nopadding, .nopadding .wp-block-cover__inner-container { padding: 0 !important; }
.nomargin { margin: 0 !important; }
.nodisplay { display: none !important; }
hr { clear: both; }

/* ==========================================================================
   Typography
   ========================================================================== */
body { -webkit-font-smoothing: antialiased; }

h1 { color: var(--gs-blue); font-size: clamp(1.8em, 1.9rem + ((1vw - 0.48em) * 1.742), 2.5em); }
h2 { color: var(--gs-blue); font-size: clamp(1.25em, 1.4rem + ((1vw - 0.5em) * 1.106), 1.9em); }
h3 { font-size: clamp(1.15em, 1.2rem + ((1vw - 0.48em) * 0.84), 1.7em); }
h1.has-xx-large-font-size { font-size: max(5em) !important; }
h1.wp-block-query-title { font-weight: 900; text-transform: uppercase; color: var(--gs-blue); }
h1.wp-block-post-title { font-weight: 900; padding-bottom: 20px; }

strong, b { font-weight: 700; }
a, button, button > span, .wp-element-button, .wp-block-button__link { font-family: var(--gs-inter); font-weight: 700; }
:is(h1, h2, h3, h4, h5, h6) a { font-weight: inherit; }
textarea { font-family: var(--gs-inter); }

blockquote { font-weight: 700; font-size: 1.1em; }
blockquote p { margin-bottom: 0; }
blockquote cite { font-family: var(--gs-montserrat); font-weight: 400; font-style: italic !important; }
blockquote.wp-block-quote { border-left: 4px solid var(--gs-blue); }
blockquote.wp-block-quote.is-style-plain { border: none; }
figure.wp-block-pullquote { padding: 0.5em 0; background-color: var(--gs-gray-lt); border: 0; }

figcaption, .wp-element-caption { font-family: var(--gs-bitter); font-weight: 400; font-size: .875rem; }
.isapost figcaption { font-style: italic; }

/* ==========================================================================
   Links
   ========================================================================== */
a:focus, a:focus > figure { outline: var(--gs-gold-athletic) 2px solid; z-index: 2; }
a:not(:has(img)):hover, a:not(:has(img)):focus { background-color: var(--gs-gray-lt); text-decoration: underline; }
a:has(img):hover { opacity: .5; }
a:where(:not(.wp-element-button)):active,
.wp-block-site-title a:where(:not(.wp-element-button)):active,
.wp-block-post-title a:where(:not(.wp-element-button)):active { color: inherit; }
a:where(:not(.wp-element-button)):focus { text-decoration: underline solid; }
a.wp-block-social-link-anchor:focus > svg { color: var(--gs-blue) !important; }
.wp-block-post-title a:where(:not(.wp-element-button)) { text-decoration: underline; }
.wp-block-post-title a:where(:not(.wp-element-button)):focus,
.wp-block-site-title a:where(:not(.wp-element-button)):focus { text-decoration: none; }
.wp-block-post-content a:where(:not(.wp-element-button)) { color: var(--gs-blue); }

/* ==========================================================================
   Buttons (Carnegie .Button: gold fill, navy text, navy outline on hover)
   ========================================================================== */
.wp-element-button, .wp-block-button__link {
	border: 2px solid var(--gs-gold-a11y);
	transition: color var(--gs-transition), background var(--gs-transition), border-color var(--gs-transition);
}
.wp-element-button:hover, .wp-block-button__link:hover,
.wp-element-button:focus, .wp-block-button__link:focus,
.wp-element-button:active, .wp-block-button__link:active {
	background-color: var(--gs-white);
	border-color: var(--gs-blue);
	color: var(--gs-blue);
	text-decoration: none;
}

/* ==========================================================================
   Header
   ========================================================================== */
header .ucm-header-container.is-layout-flex { margin: auto; max-width: 1400px; }
.wp-block-site-logo { padding: 0 !important; }
header .wp-block-site-logo:after { content: ''; border: 12px solid transparent; border-top: 12px solid var(--gs-blue); margin-bottom: 3px; display: block; background-color: transparent; vertical-align: bottom; position: relative; max-width: 2px; z-index: 999; top: 42px; margin-left: 10px; }
@media (max-width: 915px) { header .wp-block-site-logo:after { display: none; } }

/* Search */
header .ucm-header-container .wp-block-search__inside-wrapper { font-size: 0.8em; }
header .ucm-header-container .wp-block-search__inside-wrapper .wp-block-search__input { padding: .5em; border: 0; text-decoration: unset !important; max-height: 3em; font-family: var(--gs-inter); }
header .ucm-header-container .wp-block-search__inside-wrapper .wp-block-search__button { padding: .25em .75em; border: 1px solid var(--gs-white); background: transparent; color: var(--gs-white); font-weight: 800; }
header .ucm-header-container .wp-block-search__inside-wrapper .wp-block-search__button:hover,
header .ucm-header-container .wp-block-search__inside-wrapper .wp-block-search__button:focus { background: var(--gs-white); color: var(--gs-blue); }

/* Navigation */
.ucm-header-container .wp-block-navigation { font-family: var(--gs-inter); font-weight: 700; }
.ucm-header-container .wp-block-navigation a:where(:not(.wp-element-button)):hover,
.ucm-header-container .wp-block-navigation a:where(:not(.wp-element-button)):focus,
.ucm-header-container .wp-block-navigation a:where(:not(.wp-element-button)):active,
.ucm-header-container .wp-block-navigation-item.current-menu-item a { text-decoration: none; color: var(--gs-white); background-color: transparent; }
button.wp-block-navigation-item__content.wp-block-navigation-submenu__toggle:hover,
button.wp-block-navigation-item__content.wp-block-navigation-submenu__toggle:focus,
button.wp-block-navigation-item__content.wp-block-navigation-submenu__toggle:active,
button.wp-block-navigation-item__content.wp-block-navigation-submenu__toggle:hover + span.wp-block-navigation__submenu-icon { text-decoration: none; color: var(--gs-white); }
a.wp-block-navigation-item__content { padding: 0.5em; }
ul.wp-block-navigation__container { gap: 0.5em; }
button.wp-block-navigation-item__content.wp-block-navigation-submenu__toggle { padding: 0.5em 1em 0.5em 0.5em; }
header .ucm-header-container button.wp-block-navigation__responsive-container-open { color: var(--gs-white); }
header .ucm-header-container .wp-block-navigation-submenu__toggle[aria-expanded=true] ~ .wp-block-navigation__submenu-container { min-width: 150px !important; }
ul.has-background.wp-block-navigation-submenu { padding: 1em; }
header .ucm-header-container .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content { justify-content: flex-end; }
@media (max-width: 600px) { .wp-block-navigation__responsive-container-content li.wp-block-navigation-item.wp-block-navigation-link { font-size: 1.25em; } }

/* Mobile menu */
div.is-menu-open.wp-block-navigation__responsive-container { padding: 1em; }
div.is-menu-open.wp-block-navigation__responsive-container li.open-on-click.wp-block-navigation-submenu { font-style: italic; }
div.is-menu-open.wp-block-navigation__responsive-container li.open-on-click.wp-block-navigation-submenu ul { padding: 0.5em !important; }
div.is-menu-open.wp-block-navigation__responsive-container li.open-on-click.wp-block-navigation-submenu li { font-style: normal; margin-bottom: 0.75em; }

.max600 { max-width: 600px; }
@media (max-width: 950px) {
	header .ucm-header-container { justify-content: center !important; }
	.max600 { margin: auto; }
}
@media (max-width: 300px) {
	form.wp-block-search__button-outside.wp-block-search__text-button.wp-block-search { width: 100% !important; }
	header .ucm-header-container .wp-block-search__input { min-width: 2em; }
	header .ucm-header-container.is-layout-flex { padding: 1.5em !important; }
}

/* ==========================================================================
   Blocks
   ========================================================================== */
.wp-block-separator { border-top: 1px solid var(--gs-gray-lt); border-bottom: none; }
.wp-block-cover-image .wp-block-cover__inner-container, .wp-block-cover .wp-block-cover__inner-container { padding: 1.5em; }
.wp-block-cover-image.is-light .wp-block-cover__inner-container, .wp-block-cover.is-light .wp-block-cover__inner-container { color: var(--gs-blue); }

/* Query loops */
.wp-block-query h2, .wp-block-query h3 { font-size: clamp(1.1em, 1.3rem + ((1vw - 0.48em) * 1.202), 1.3em); }
a.wp-block-latest-posts__post-title { font-size: clamp(1.05em, 1.1rem + ((1vw - 0.48em) * 1.202), 1.15em); }
.wp-block-latest-posts__featured-image img { width: 100% !important; }
.wp-block-post-date, .wp-block-post-terms { font-family: var(--gs-montserrat); font-weight: 400; font-size: .875rem; }

/* Breadcrumbs */
.breadcrumbs, .postbreadcrumbs a, .postbreadcrumbs p { font-family: var(--gs-montserrat); font-size: .875rem; }
.is-layout-flex.postbreadcrumbs { gap: 0.5rem; }

/* Images */
body .is-layout-constrained > figure.alignleft img { margin-bottom: 1em; }
.wp-block-post-featured-image.alignfull img, .wp-block-post-featured-image.alignwide img { width: 100%; height: 200px; object-fit: cover; }

/* Contact forms */
p label { font-weight: 700; }
@media (max-width: 500px) { input.wpcf7-form-control, textarea.wpcf7-form-control { width: 100%; } }

/* Columns */
.columns2 { columns: 2; }
.columns3 { columns: 3; }
.columns3 li, .columns2 li { padding-right: 20px; }
@media (max-width: 700px) { .columns3 { columns: 2; } .columns3 li { padding-right: 0; } }
@media (max-width: 600px) { .columns2, .columns3 { columns: 1; } .columns2 li { padding-right: 0; } }
@media (max-width: 1200px) { .wp-block-post-content > div:not(.alignfull, .alignwide) { margin-left: .85em !important; margin-right: .85em !important; } }

/* ==========================================================================
   Posts
   ========================================================================== */
.isapost { margin-top: 0 !important; }
a.wp-block-outermost-social-sharing-link-anchor:hover, a.wp-block-outermost-social-sharing-link-anchor:focus { background-color: var(--gs-blue); }
a.wp-block-outermost-social-sharing-link-anchor:hover svg { color: var(--gs-white) !important; }
div.entry-content.isapost > h2:first-child, div.entry-content.isapost h1 + h2 { font-family: var(--gs-montserrat); font-weight: 400; font-style: italic; font-size: clamp(1.15em, 1.15rem + ((1vw - 0.48em) * 0.962), 1.7em); }
div.entry-content.isapost h1 + h2 { padding-top: 0; margin-top: 0; }
@media (max-width: 1200px) {
	body .is-layout-constrained .entry-content.pagewnotitle > h2 { padding-left: .5em; }
	body .is-layout-constrained .entry-content.isapost > h2,
	body .is-layout-constrained .entry-content.wp-block-post-content > h2,
	body .is-layout-constrained .entry-content.wp-block-post-content.pagewnotitle > h2 { padding-left: 0; }
}

/* ==========================================================================
   Issues
   ========================================================================== */
@media (max-width: 800px) {
	.currentissuecta .wp-block-group, .currentissuecta h2, .currentissuecta p, .currentissuecta .wp-block-buttons { align-items: center !important; justify-content: center !important; text-align: center; }
}

/* Past issues grid */
.flex-container, .flex-container-home { display: flex; flex-flow: row wrap; justify-content: space-around; padding: 0; margin: 0; }
.flex-container .flex-item { padding: 5px; width: 11em; margin-top: 10px; text-align: center; }
.flex-container-home .flex-item { padding: 5px; width: 10em; margin-top: 10px; text-align: center; }
.flex-item img { max-height: 13em; }
@media (max-width: 410px) { .flex-item { width: 40%; } }
@media (max-width: 260px) { .flex-item { width: 100%; } }

/* Current issue */
.featured-issue-cover h1.wp-block-post-title { font-size: clamp(1.9em, 2.5rem + ((1vw - 0.48em) * 1.742), 3.5em) !important; text-transform: uppercase; }
.featured-issue-cover a { color: var(--gs-white); }
.featured-issue-cover a:hover, .featured-issue-cover a:focus, .featured-issue-cover a:active { color: var(--gs-blue); }
@media (max-width: 800px) { .featured-issue-cover h1, .featured-issue-cover p { text-align: center; } }

/* Section headers: heading text sits on a rule that runs to the right edge */
h2.issue-section-header { font-weight: 800; text-transform: uppercase; color: var(--gs-blue); }
.issue-section-header { background: linear-gradient(var(--gs-gold), var(--gs-gold)) center / 100% 2px no-repeat; }
h2.issue-section-header mark { background-color: var(--wp--preset--color--contrast); padding-right: 0.5em; color: var(--gs-blue); }
/* Current issue cover on the homepage call to action */
.currentissuecta .wp-block-image.aligncenter.size-full { background-color: var(--gs-blue); }
/* This cover file has a white strip baked into its left edge; hide it so the blue shows. */
.currentissuecta .wp-block-image img[src*="georgia-southern-magazine-spring-2026-cover"] { clip-path: inset(0 0 0 2.3%); }
div.cap-head-mag { background-color: var(--gs-gray-lt); max-width: 190px; }
@media (max-width: 1140px) { h2.issue-section-header { margin-left: .5em !important; } }

/* ==========================================================================
   Footer (Carnegie .Footer)
   ========================================================================== */
footer { margin-top: 0 !important; }
footer a { color: var(--gs-white); }
footer a:hover, footer a:focus { color: var(--gs-blue); }
footer h3 { font-size: clamp(1em, 1.05em + ((1vw - 0.48rem) * 0.84), 1.2em); }
footer h3 + p { margin-top: .5em !important; }
footer ul { padding: 0; }
footer li { list-style: none; padding: 0; }
.ululfooter { margin-top: 1em; }
.gsmag-footer-bottom { font-weight: 400; font-size: .875rem; text-align: center; }
.gsmag-footer-social .wp-social-link a:hover, .gsmag-footer-social .wp-social-link a:focus { background-color: transparent; opacity: .5; }
.gsmag-footer-social .wp-social-link:hover { transform: none; }

/* ==========================================================================
   Print
   ========================================================================== */
@media print {
	body { margin: 0; color: #000; background-color: #fff; }
	h1, h2, h3, h4, h5, h6, p, .has-text-color, a, a.wp-block-button__link, .wp-block-button { color: #000 !important; }
	p { font-size: 15px; }
	header, footer, .exploreissue, ul.wp-block-outermost-social-sharing { display: none !important; }
	a::after { content: " (" attr(href) ")"; }
	body::before { content: "Georgia Southern University Magazine"; display: block; text-align: center; }
	/* The site address is appended by gsmagazine_enqueue_styles(). */
	body::after { content: "Copyright Georgia Southern University Magazine"; display: block; text-align: center; }
	table, img, ul { page-break-inside: avoid; }
}
