/*
Theme Name: Guide To
Description: A minimal, reusable classic WordPress foundation for Guide To destination websites and visual builders such as CrocoBuilder.
Author: Maypalm
Version: 1.0.3
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: guide-to
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
	--guide-to-content-width: 72rem;
	--guide-to-reading-width: 48rem;
	--guide-to-space: clamp(1rem, 2.5vw, 2rem);
	--guide-to-border: #d9dee5;
	--guide-to-text: #172033;
	--guide-to-muted: #5a6475;
	--guide-to-background: #ffffff;
	--guide-to-surface: #f6f7f9;
	--guide-to-link: #0759b8;
	--guide-to-focus: #ffbf47;
}

/* Builder-owned full-width templates need the browser's default body margin removed. */
body {
	margin: 0;
}

.site-header,
.site-footer,
.site-main,
.site-header *,
.site-footer *,
.site-main *,
.site-header *::before,
.site-footer *::before,
.site-main *::before,
.site-header *::after,
.site-footer *::after,
.site-main *::after {
	box-sizing: border-box;
}

.site-header,
.site-footer,
.site-main {
	color: var(--guide-to-text);
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 1rem;
	line-height: 1.6;
}

.site-header img,
.site-footer img,
.site-main img {
	max-width: 100%;
	height: auto;
}

.site-header a,
.site-footer a,
.site-main a {
	color: var(--guide-to-link);
	text-underline-offset: 0.16em;
}

.site-header a:hover,
.site-footer a:hover,
.site-main a:hover,
.site-header a:focus-visible,
.site-footer a:focus-visible,
.site-main a:focus-visible {
	text-decoration-thickness: 0.14em;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus,
.skip-link:focus {
	z-index: 100000;
	top: 0.5rem;
	left: 0.5rem;
	width: auto;
	height: auto;
	padding: 0.75rem 1rem;
	clip: auto;
	background: #ffffff;
	color: #000000;
	font-weight: 700;
	box-shadow: 0 0 0 3px #000000;
}

.site-header,
.site-footer {
	padding: var(--guide-to-space);
	background: var(--guide-to-surface);
}

.site-header {
	border-bottom: 1px solid var(--guide-to-border);
}

.site-footer {
	border-top: 1px solid var(--guide-to-border);
}

.site-header__inner,
.site-footer__inner {
	width: min(100%, var(--guide-to-content-width));
	margin-inline: auto;
}

.site-branding,
.primary-navigation ul,
.entry-meta,
.entry-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
}

.custom-logo-link {
	display: inline-flex;
}

.custom-logo {
	max-height: 3rem;
	width: auto;
}

.site-title,
.site-description {
	margin: 0;
}

.site-title {
	font-size: 1.25rem;
}

.site-title a,
.site-title a:hover,
.site-title a:focus-visible {
	color: inherit;
	text-decoration: none;
}

.site-description,
.entry-meta,
.entry-footer {
	color: var(--guide-to-muted);
	font-size: 0.925rem;
}

.primary-navigation {
	margin-top: 1rem;
}

.primary-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-main {
	width: 100%;
	min-height: 50vh;
	padding: clamp(2rem, 5vw, 5rem) var(--guide-to-space);
	background: var(--guide-to-background);
}

.site-main > .page-header,
.site-main > .entry:not(.type-page),
.site-main > .no-results,
.site-main > .error-404,
.site-main > .comments-area,
.site-main > .type-page > .entry-header {
	width: min(100%, var(--guide-to-reading-width));
	margin-inline: auto;
}

.site-main > .type-page {
	width: 100%;
	margin: 0;
}

.entry + .entry {
	margin-top: 3rem;
	padding-top: 3rem;
	border-top: 1px solid var(--guide-to-border);
}

.entry-title {
	line-height: 1.15;
}

.entry-title a,
.entry-title a:hover,
.entry-title a:focus-visible {
	color: inherit;
	text-decoration: none;
}

.post-thumbnail img {
	display: block;
	width: 100%;
}

.nav-links,
.comment-navigation {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	width: min(100%, var(--guide-to-reading-width));
	margin: 2rem auto 0;
}

.site-main .search-form input:not([type="checkbox"]):not([type="radio"]),
.site-main .comment-form input:not([type="checkbox"]):not([type="radio"]),
.site-main .comment-form textarea,
.site-main .comment-form select {
	max-width: 100%;
	padding: 0.65rem 0.75rem;
	border: 1px solid var(--guide-to-border);
	border-radius: 0.25rem;
	font: inherit;
}

.site-main .search-form button,
.site-main .search-form input[type="submit"],
.site-main .comment-form button,
.site-main .comment-form input[type="submit"] {
	padding: 0.65rem 1rem;
	border: 0;
	border-radius: 0.25rem;
	background: var(--guide-to-text);
	color: #ffffff;
	font: inherit;
	cursor: pointer;
}

.site-header :focus-visible,
.site-footer :focus-visible,
.site-main :focus-visible {
	outline: 3px solid var(--guide-to-focus);
	outline-offset: 3px;
	box-shadow: 0 0 0 1px #000000;
}

@media (prefers-reduced-motion: reduce) {
	.site-header *,
	.site-footer *,
	.site-main * {
		scroll-behavior: auto !important;
	}
}

/* Dynamic Place-section helpers used only inside the CrocoBuilder Winery template. */
.gtn-winery-template .gtn-place-section {
	padding: clamp(3rem, 7vw, 5.5rem) 1.5rem;
	background: var(--gt-cream, #f7f2e8);
	color: var(--gt-body, #273431);
	font-family: Inter, Arial, sans-serif;
}

.gtn-winery-template .gtn-place-section:nth-of-type(even),
.gtn-winery-template .gtn-place-section--facts,
.gtn-winery-template .gtn-place-section--reviews,
.gtn-winery-template .gtn-place-section--nearby {
	background: var(--gt-white, #ffffff);
}

.gtn-winery-template .gtn-place-section__inner {
	width: min(100%, var(--gt-container, 1200px));
	margin-inline: auto;
}

.gtn-winery-template .gtn-place-section h2,
.gtn-winery-template .gtn-place-section h3 {
	margin-top: 0;
	color: var(--gt-ink, #16332f);
	font-family: Georgia, "Times New Roman", serif;
	line-height: 1.15;
}

.gtn-winery-template .gtn-place-section h2 {
	max-width: 20ch;
	margin-bottom: 1.5rem;
	font-size: clamp(2rem, 4vw, 3rem);
}

.gtn-winery-template .gtn-place-section h3 {
	margin-bottom: 0.75rem;
	font-size: 1.45rem;
}

.gtn-winery-template .gtn-place-section p,
.gtn-winery-template .gtn-place-section li,
.gtn-winery-template .gtn-place-section dd {
	font-size: 1rem;
	line-height: 1.7;
}

.gtn-winery-template .gtn-place-section--our-take .gtn-place-section__inner,
.gtn-winery-template .gtn-place-section--faqs .gtn-place-section__inner,
.gtn-winery-template .gtn-place-section--reviews .gtn-place-section__inner {
	max-width: 760px;
}

.gtn-winery-template .gtn-place-eyebrow {
	margin: 0 0 1rem;
	color: var(--gt-wine, #763c4b);
	font-size: 0.75rem;
	font-weight: 750;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.gtn-winery-template .gtn-facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	border-top: 1px solid var(--gt-border, #ccd8d2);
}

.gtn-winery-template .gtn-fact {
	display: grid;
	grid-template-columns: minmax(7rem, 0.35fr) 1fr;
	gap: 1rem;
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--gt-border, #ccd8d2);
}

.gtn-winery-template .gtn-fact:nth-child(odd) {
	padding-right: 2rem;
}

.gtn-winery-template .gtn-fact dt {
	color: var(--gt-muted, #5a675f);
	font-size: 0.78rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.gtn-winery-template .gtn-fact dd,
.gtn-winery-template .gtn-fact address {
	margin: 0;
	font-style: normal;
}

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

.gtn-winery-template .gtn-experience,
.gtn-winery-template .gtn-pro-con,
.gtn-winery-template .gtn-nearby-placeholder {
	padding: 1.75rem;
	border: 1px solid var(--gt-border, #ccd8d2);
	border-radius: var(--gt-radius-card, 22px);
	background: var(--gt-white, #ffffff);
	box-shadow: 0 10px 30px rgba(22, 51, 47, 0.06);
}

.gtn-winery-template .gtn-experience__meta {
	color: var(--gt-wine, #763c4b);
}

.gtn-winery-template .gtn-experience__link,
.gtn-winery-template .gtn-place-section a {
	color: var(--gt-river, #0b6670);
	font-weight: 700;
	text-underline-offset: 0.2em;
}

.gtn-winery-template .gtn-pros-cons {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}

.gtn-winery-template .gtn-pro-con ul,
.gtn-winery-template .gtn-visit-notes {
	margin: 0;
	padding-left: 1.4rem;
}

.gtn-winery-template .gtn-pro-con li + li,
.gtn-winery-template .gtn-visit-notes li + li {
	margin-top: 0.75rem;
}

.gtn-winery-template .gtn-place-section--plan {
	background: var(--gt-wine, #763c4b);
	color: #ffffff;
}

.gtn-winery-template .gtn-place-section--plan h2,
.gtn-winery-template .gtn-place-section--plan .gtn-place-eyebrow {
	color: #ffffff;
}

.gtn-winery-template .gtn-nearby-placeholder {
	max-width: 760px;
	background: var(--gt-mist, #e8f0ed);
}

/* Conditional, visitor-facing guidance for currently empty Place archives. */
.gtn-archive-empty-notice {
	padding: 2.375rem;
	border: 1px solid var(--gt-border, #ccd8d2);
	border-radius: var(--gt-radius-panel, 28px);
	background: var(--gt-mist, #e8f0ed);
	color: var(--gt-body, #273431);
}

.gtn-archive-empty-notice__label {
	margin: 0 0 0.875rem;
	color: var(--gt-river, #0b6670);
	font-size: 0.75rem;
	font-weight: 750;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.gtn-archive-empty-notice h2 {
	margin: 0 0 0.875rem;
	color: var(--gt-ink, #16332f);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.8rem, 3vw, 2.25rem);
	line-height: 1.16;
}

.gtn-archive-empty-notice p {
	max-width: 66ch;
	margin: 0 0 1rem;
	font-size: 1rem;
	line-height: 1.7;
}

.gtn-archive-empty-notice a {
	color: var(--gt-river, #0b6670);
	font-weight: 750;
	text-underline-offset: 0.2em;
}

.gtn-winery-template .gtn-place-section--faqs h3 {
	margin-top: 2rem;
}

@media (max-width: 1023px) {
	.gtn-winery-template .gtn-experiences {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 639px) {
	.gtn-winery-template .gtn-place-section {
		padding-inline: 1.125rem;
	}

	.gtn-winery-template .gtn-facts,
	.gtn-winery-template .gtn-experiences,
	.gtn-winery-template .gtn-pros-cons {
		grid-template-columns: 1fr;
	}

	.gtn-winery-template .gtn-fact,
	.gtn-winery-template .gtn-fact:nth-child(odd) {
		grid-template-columns: 1fr;
		gap: 0.35rem;
		padding-right: 0;
	}
}
