/*
 * Sociedade Hípica Cuiabana - responsividade (mobile first).
 *
 * Base (< 600px)  celulares: coluna única, menu recolhido, sidebar abaixo do conteúdo.
 * >= 600px        celulares grandes / tablets pequenos: grades de 2 colunas.
 * >= 768px        tablets: destaque em largura total + 3 cards, sidebar abaixo em 2 colunas, rodapé em colunas.
 * >= 900px        menu horizontal.
 * >= 1024px       desktop: sidebar à direita (300px).
 * >= 1440px       telas grandes: contêiner de 1280px.
 */

/* Resultados de busca: miniatura maior no celular */
.row-list--results .row__media {
	width: 112px;
}

/* Barra de administração do WordPress: mantém o menu fixo abaixo dela */
@media (min-width: 601px) {
	.admin-bar .main-navigation {
		top: 46px;
	}
}

@media (min-width: 783px) {
	.admin-bar .main-navigation {
		top: 32px;
	}
}

/* ---------- >= 600px ---------- */
@media (min-width: 600px) {
	.post-grid,
	.post-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem;
	}

	.featured--lead,
	.featured--wide {
		aspect-ratio: 16 / 9;
	}

	.featured--lead .featured__title,
	.featured--wide .featured__title {
		font-size: 1.75rem;
	}

	.featured--lead .featured__excerpt,
	.featured--wide .featured__excerpt {
		display: block;
	}

	.featured--lead .featured__body,
	.featured--wide .featured__body {
		padding: 4rem 1.5rem 1.4rem;
	}

	.row__media {
		width: 128px;
	}

	.row-list--results .row__media {
		width: 200px;
	}

	.row-list--results .row {
		gap: 1.25rem;
	}

	.photo-mosaic {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 0.6rem;
	}

	.tile--large {
		grid-column: span 2;
		grid-row: span 2;
		aspect-ratio: auto;
	}

	.tile__title {
		font-size: 0.9rem;
	}

	.widget-area {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem;
	}

	.post-navigation .nav-links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.post-navigation .nav-next {
		text-align: right;
	}

	.link-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.author-card {
		flex-direction: row;
		align-items: center;
		gap: 1.5rem;
	}

	.author-card__avatar {
		width: 120px;
		height: 120px;
	}

	.site-footer__main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.footer-about {
		grid-column: 1 / -1;
	}

	.comment-list .children {
		padding-left: 2rem;
	}
}

/* ---------- >= 768px (tablets) ---------- */
@media (min-width: 768px) {
	:root {
		--shc-gutter: 24px;
		--shc-logo-height: 88px;
	}

	.site-header__inner {
		justify-content: space-between;
		padding-block: 0.75rem;
	}

	.site-tagline {
		display: block;
		flex: 1;
		min-width: 0;
		max-width: 26ch;
		margin: 0;
		padding-left: 1.5rem;
		font-family: var(--shc-font-serif);
		font-size: 1.05rem;
		font-style: italic;
		line-height: 1.35;
		color: var(--shc-primary-light);
		border-left: 1px solid #d9ccb5;
	}

	.site-header .social-links {
		display: flex;
		flex-wrap: nowrap;
		margin-left: auto;
	}

	.layout {
		padding-block: 2rem 3.5rem;
	}

	.home-hero {
		padding-top: 1.5rem;
	}

	.home-hero__grid,
	.home-hero__side {
		gap: 1rem;
	}

	.home-hero__side {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: minmax(0, 1fr);
	}

	.featured--lead {
		aspect-ratio: 2 / 1;
	}

	.featured--side {
		aspect-ratio: 4 / 3;
	}

	.featured--side .featured__title {
		font-size: 1rem;
	}

	.post-grid--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1.25rem;
	}

	.contact-info-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 3rem;
	}

	.contact-form .wpcf7-form {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
		gap: 0 1.5rem;
	}

	.contact-form .wpcf7-form > p:nth-of-type(1),
	.contact-form .wpcf7-form > p:nth-of-type(2),
	.contact-form .wpcf7-form > p:nth-of-type(3),
	.contact-form .wpcf7-form > p:nth-of-type(4) {
		grid-column: 1;
	}

	.contact-form .wpcf7-form > p:nth-of-type(5) {
		grid-column: 2;
		grid-row: 1 / 5;
		margin-bottom: 0;
	}

	.contact-form .wpcf7-form > p:nth-of-type(6) {
		grid-column: 2;
	}

	.archive-header {
		padding: 2rem 2rem;
	}

	.archive-header--has-image {
		padding-block: 3.5rem 2rem;
	}

	.archive-title {
		font-size: 2.25rem;
	}

	.entry-title {
		font-size: 2.35rem;
	}

	.entry-content {
		font-size: 1.125rem;
	}

	.section-title__text {
		font-size: 1.35rem;
	}

	.site-footer__main {
		padding-block: 3rem;
		gap: 2.5rem;
	}

	.site-footer__bottom-inner {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		text-align: left;
	}

	.link-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.home-cta__inner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 1.5rem;
	}

	.home-cta__text h2 {
		font-size: 1.75rem;
	}
}

/* ---------- >= 900px (menu horizontal) ---------- */
@media (min-width: 900px) {
	.menu-toggle {
		display: none;
	}

	.main-navigation__inner {
		flex-wrap: nowrap;
	}

	.primary-menu,
	.js .primary-menu {
		display: flex;
		flex: 1 1 auto;
		flex-wrap: wrap;
		order: 0;
		max-height: none;
		overflow: visible;
	}

	.primary-menu > li {
		position: relative;
	}

	.primary-menu a {
		display: flex;
		align-items: center;
		min-height: var(--shc-nav-height);
		padding: 0 1rem;
		border-top: 0;
		transition: color 0.2s ease, box-shadow 0.2s ease;
	}

	.primary-menu > li > a:hover,
	.primary-menu > .current-menu-item > a,
	.primary-menu > .current_page_item > a,
	.primary-menu > .current-menu-ancestor > a {
		box-shadow: inset 0 -3px 0 var(--shc-nav-hover, var(--shc-gold-light));
	}

	.primary-menu > .menu-item-has-children > a::after,
	.primary-menu > .page_item_has_children > a::after {
		content: "";
		width: 0.4em;
		height: 0.4em;
		margin: -0.2em 0 0 0.6em;
		border: solid currentColor;
		border-width: 0 2px 2px 0;
		transform: rotate(45deg);
	}

	.primary-menu .sub-menu,
	.primary-menu .children {
		position: absolute;
		top: 100%;
		left: 0;
		z-index: 60;
		min-width: 240px;
		margin: 0;
		padding: 0.4rem 0;
		list-style: none;
		background: var(--shc-primary-dark);
		border-bottom: 3px solid var(--shc-gold);
		box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25);
		opacity: 0;
		visibility: hidden;
		transform: translateY(6px);
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
	}

	.primary-menu li:hover > .sub-menu,
	.primary-menu li:focus-within > .sub-menu,
	.primary-menu li:hover > .children,
	.primary-menu li:focus-within > .children {
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.primary-menu .sub-menu a,
	.primary-menu .children a {
		min-height: 44px;
		padding: 0.6rem 1.1rem;
		font-weight: 600;
		letter-spacing: 0.03em;
		text-transform: none;
	}

	.primary-menu .sub-menu .sub-menu,
	.primary-menu .children .children {
		top: 0;
		left: 100%;
	}

	.search-toggle {
		margin-left: 0.5rem;
	}

	.site-footer__main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.link-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* ---------- >= 1024px (desktop) ---------- */
@media (min-width: 1024px) {
	:root {
		--shc-logo-height: 108px;
	}

	.layout.has-sidebar {
		grid-template-columns: minmax(0, 1fr) var(--shc-sidebar, 300px);
		gap: 2.75rem;
	}

	body.sidebar-left .layout.has-sidebar {
		grid-template-columns: var(--shc-sidebar, 300px) minmax(0, 1fr);
	}

	body.sidebar-left .widget-area {
		order: -1;
	}

	body.sidebar-none .layout.has-sidebar {
		grid-template-columns: minmax(0, 1fr);
	}

	body.sidebar-sticky .widget-area {
		position: sticky;
		top: calc(var(--shc-nav-height) + 24px);
		align-self: start;
		max-height: calc(100vh - var(--shc-nav-height) - 48px);
		overflow-y: auto;
	}

	.widget-area {
		grid-template-columns: minmax(0, 1fr);
	}

	.home-hero__grid {
		grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
		height: clamp(430px, 38vw, 520px);
	}

	.home-hero__grid--solo {
		grid-template-columns: minmax(0, 1fr);
	}

	.home-hero__side {
		grid-auto-flow: row;
		grid-auto-columns: auto;
		grid-auto-rows: minmax(0, 1fr);
		grid-template-columns: minmax(0, 1fr);
	}

	.home-hero .featured--lead,
	.home-hero .featured--side {
		aspect-ratio: auto;
		min-height: 0;
	}

	.featured--lead .featured__title {
		font-size: 2.1rem;
	}

	.featured--side .featured__title {
		font-size: 1.05rem;
	}

	.featured--wide {
		aspect-ratio: 16 / 9;
	}

	.featured--wide .featured__title {
		font-size: 2rem;
	}

	.site-footer__main--cols-0 {
		grid-template-columns: minmax(0, 1fr);
	}

	.site-footer__main--cols-1 {
		grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	}

	.site-footer__main--cols-2 {
		grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr));
	}

	.site-footer__main--cols-3 {
		grid-template-columns: minmax(0, 1.2fr) repeat(3, minmax(0, 1fr));
	}

	.site-footer__main--cols-4 {
		grid-template-columns: minmax(0, 1fr) repeat(4, minmax(0, 1fr));
	}

	.footer-about {
		grid-column: auto;
	}

	.site-footer__main--cols-0 .footer-about {
		grid-column: 1 / -1;
	}

	.link-list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* ---------- >= 1440px ---------- */
@media (min-width: 1440px) {
	:root {
		--shc-container: 1280px;
	}

	.layout.has-sidebar {
		grid-template-columns: minmax(0, 1fr) var(--shc-sidebar, 320px);
		gap: 3rem;
	}

	body.sidebar-left .layout.has-sidebar {
		grid-template-columns: var(--shc-sidebar, 320px) minmax(0, 1fr);
	}

	body.sidebar-none .layout.has-sidebar {
		grid-template-columns: minmax(0, 1fr);
	}

	.entry-content {
		font-size: 1.15rem;
	}
}
