/*
Theme Name: Gregory Base
Theme URI: https://www.gregory.agency/
Author: Custom Build
Description: Lightweight custom theme for Gregory Property Agents. Clean blog + pages, plus per-page HTML / CSS / JS / Head code tabs so any page can be built with custom markup.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gregory-base
Tags: blog, one-column, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready
*/

/* ==========================================================================
   1. Design tokens — change these to restyle the whole theme
   ========================================================================== */
/* :root {
	--gpa-ink: #101828;
	--gpa-ink-soft: #475467;
	--gpa-line: #e4e7ec;
	--gpa-bg: #ffffff;
	--gpa-bg-alt: #f7f8fa;
	--gpa-brand: #0b2239;
	--gpa-accent: #c08a2e;
	--gpa-accent-ink: #ffffff;

	--gpa-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--gpa-font-head: Georgia, "Times New Roman", serif;

	--gpa-width: 1180px;
	--gpa-width-narrow: 760px;
	--gpa-gap: 24px;
	--gpa-radius: 10px;
} */

/* ==========================================================================
   2. Reset / base
   ========================================================================== */
/* *, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}
body {
	margin: 0;
	background: var(--gpa-bg);
	color: var(--gpa-ink);
	font-family: var(--gpa-font);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
img, svg, video, iframe { max-width: 100%; height: auto; }
img { display: block; }
a { color: var(--gpa-brand); text-decoration: underline; text-underline-offset: 3px; }
a:hover { color: var(--gpa-accent); }
:focus-visible { outline: 2px solid var(--gpa-accent); outline-offset: 2px; }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--gpa-font-head);
	line-height: 1.2;
	margin: 0 0 .5em;
	color: var(--gpa-ink);
	font-weight: 700;
}
h1 { font-size: clamp(2rem, 4vw, 2.85rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); }
h3 { font-size: 1.35rem; }
p, ul, ol, table, pre, blockquote, figure { margin: 0 0 1.15em; }
blockquote {
	border-left: 3px solid var(--gpa-accent);
	padding: .25em 0 .25em 1.15em;
	color: var(--gpa-ink-soft);
	font-style: italic;
}
code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .92em; }
pre { background: var(--gpa-bg-alt); padding: 16px; border-radius: var(--gpa-radius); overflow: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { border: 1px solid var(--gpa-line); padding: 10px 12px; text-align: left; }

/* ==========================================================================
   3. Layout helpers
   ========================================================================== */
/* .gpa-container { width: 100%; max-width: var(--gpa-width); margin: 0 auto; padding: 0 20px; }
.gpa-narrow { max-width: var(--gpa-width-narrow); }
.gpa-site-main { padding: 48px 0 64px; }
.gpa-full-width .gpa-site-main { padding: 0; }
.gpa-full-width .gpa-site-main > .gpa-container { max-width: none; padding: 0; }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px,1px,1px,1px); clip-path: inset(50%); white-space: nowrap;
}
.skip-link {
	position: absolute; left: -9999px; top: 0; z-index: 999;
	background: var(--gpa-brand); color: #fff; padding: 12px 18px; text-decoration: none;
}
.skip-link:focus { left: 8px; top: 8px; }  */

/* ==========================================================================
   4. Header
   ========================================================================== */
/* .gpa-site-header {
	background: var(--gpa-bg);
	border-bottom: 1px solid var(--gpa-line);
	position: sticky; top: 0; z-index: 100;
}
.gpa-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 74px; }
.gpa-branding a { text-decoration: none; color: var(--gpa-brand); }
.gpa-site-title { font-family: var(--gpa-font-head); font-size: 1.25rem; font-weight: 700; margin: 0; }
.gpa-site-desc { margin: 0; font-size: .8rem; color: var(--gpa-ink-soft); }
.gpa-custom-logo-link img { max-height: 52px; width: auto; }

.gpa-nav ul { list-style: none; display: flex; gap: 22px; margin: 0; padding: 0; }
.gpa-nav a { text-decoration: none; color: var(--gpa-ink); font-size: .95rem; font-weight: 500; }
.gpa-nav a:hover, .gpa-nav .current-menu-item > a { color: var(--gpa-accent); }
.gpa-nav li { position: relative; }
.gpa-nav .sub-menu {
	display: none; position: absolute; left: 0; top: 100%; min-width: 210px;
	background: #fff; border: 1px solid var(--gpa-line); border-radius: var(--gpa-radius);
	padding: 8px; flex-direction: column; gap: 2px; box-shadow: 0 12px 28px rgba(16,24,40,.09);
}
.gpa-nav li:hover > .sub-menu, .gpa-nav li:focus-within > .sub-menu { display: flex; }
.gpa-nav .sub-menu a { display: block; padding: 8px 10px; border-radius: 6px; }
.gpa-nav .sub-menu a:hover { background: var(--gpa-bg-alt); }

.gpa-menu-toggle {
	display: none; background: none; border: 1px solid var(--gpa-line); border-radius: 8px;
	padding: 9px 12px; font-size: .9rem; cursor: pointer; color: var(--gpa-ink);
}

@media (max-width: 900px) {
	.gpa-menu-toggle { display: inline-flex; align-items: center; gap: 8px; }
	.gpa-nav {
		display: none; position: absolute; left: 0; right: 0; top: 100%;
		background: #fff; border-bottom: 1px solid var(--gpa-line); padding: 12px 20px 20px;
	}
	.gpa-nav.is-open { display: block; }
	.gpa-nav ul { flex-direction: column; gap: 0; }
	.gpa-nav li { border-bottom: 1px solid var(--gpa-line); }
	.gpa-nav a { display: block; padding: 12px 0; }
	.gpa-nav .sub-menu { display: flex; position: static; border: 0; box-shadow: none; padding: 0 0 8px 14px; }
} */

/* ==========================================================================
   5. Entries / blog
   ========================================================================== */
/* .gpa-page-header { margin-bottom: 36px; }
.gpa-page-header p { color: var(--gpa-ink-soft); margin: 0; }

.gpa-post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 34px; }
.gpa-card { border: 1px solid var(--gpa-line); border-radius: var(--gpa-radius); overflow: hidden; background: #fff; display: flex; flex-direction: column; }
.gpa-card-thumb img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.gpa-card-body { padding: 22px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.gpa-card-body h2 { font-size: 1.28rem; margin: 0; }
.gpa-card-body h2 a { text-decoration: none; }
.gpa-meta { font-size: .82rem; color: var(--gpa-ink-soft); letter-spacing: .02em; }
.gpa-excerpt { margin: 0; color: var(--gpa-ink-soft); font-size: .96rem; }
.gpa-readmore { margin-top: auto; font-weight: 600; font-size: .92rem; text-decoration: none; color: var(--gpa-accent); }

.gpa-entry-header { margin-bottom: 26px; }
.gpa-featured { margin-bottom: 30px; border-radius: var(--gpa-radius); overflow: hidden; }
.gpa-entry-content > *:last-child { margin-bottom: 0; }
.gpa-entry-footer { margin-top: 34px; padding-top: 20px; border-top: 1px solid var(--gpa-line); font-size: .9rem; color: var(--gpa-ink-soft); }

.gpa-pagination { margin-top: 46px; display: flex; gap: 8px; flex-wrap: wrap; }
.gpa-pagination .page-numbers {
	display: inline-block; padding: 9px 14px; border: 1px solid var(--gpa-line);
	border-radius: 8px; text-decoration: none; font-size: .92rem;
}
.gpa-pagination .current { background: var(--gpa-brand); color: #fff; border-color: var(--gpa-brand); }

.gpa-post-nav { display: flex; justify-content: space-between; gap: 20px; margin-top: 36px; font-size: .95rem; } */

/* ==========================================================================
   6. Sidebar + footer
   ========================================================================== */
/* .gpa-with-sidebar { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 52px; align-items: start; }
@media (max-width: 900px) { .gpa-with-sidebar { grid-template-columns: 1fr; gap: 40px; } }
.gpa-sidebar .widget { margin-bottom: 32px; font-size: .95rem; }
.gpa-sidebar .widget-title { font-size: 1.05rem; margin-bottom: 12px; }
.gpa-sidebar ul { list-style: none; padding: 0; margin: 0; }
.gpa-sidebar li { padding: 7px 0; border-bottom: 1px solid var(--gpa-line); }

.gpa-site-footer { background: var(--gpa-brand); color: #cbd5e1; padding: 54px 0 26px; margin-top: 60px; font-size: .95rem; }
.gpa-site-footer a { color: #fff; text-decoration: none; }
.gpa-site-footer a:hover { color: var(--gpa-accent); }
.gpa-site-footer h2, .gpa-site-footer .widget-title { color: #fff; font-size: 1rem; }
.gpa-footer-widgets { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 34px; }
.gpa-footer-widgets ul { list-style: none; padding: 0; margin: 0; }
.gpa-footer-widgets li { padding: 5px 0; }
.gpa-footer-bottom { margin-top: 34px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.15); font-size: .85rem; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
 */
/* ==========================================================================
   7. Forms / buttons
   ========================================================================== */
/* input[type=text], input[type=email], input[type=url], input[type=tel], input[type=search],
input[type=number], input[type=password], textarea, select {
	width: 100%; padding: 11px 13px; border: 1px solid var(--gpa-line);
	border-radius: 8px; font: inherit; color: inherit; background: #fff;
}
textarea { min-height: 150px; }
.gpa-btn, button, input[type=submit], .wp-block-button__link {
	display: inline-block; background: var(--gpa-accent); color: var(--gpa-accent-ink);
	border: 0; border-radius: 8px; padding: 12px 22px; font: inherit; font-weight: 600;
	cursor: pointer; text-decoration: none; line-height: 1.2;
}
.gpa-btn:hover, button:hover, input[type=submit]:hover { filter: brightness(.93); color: var(--gpa-accent-ink); }

.gpa-comments { margin-top: 52px; padding-top: 30px; border-top: 1px solid var(--gpa-line); }
.gpa-comments .comment-list { list-style: none; padding: 0; }
.gpa-comments .comment-list li { padding: 16px 0; border-bottom: 1px solid var(--gpa-line); } */

/* Alignment support */
/* .alignleft { float: left; margin: 0 1.5em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1.5em; }
.aligncenter { margin-left: auto; margin-right: auto; }
.alignwide { max-width: calc(var(--gpa-width) - 40px); }
.alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); }
.gpa-entry-content .alignfull { margin-left: calc(50% - 50vw); } */

/* Footer menu + search form */
/* .gpa-footer-menu { list-style: none; display: flex; gap: 18px; margin: 0; padding: 0; flex-wrap: wrap; }
.gpa-search-form { display: flex; gap: 8px; }
.gpa-search-form input[type=search] { flex: 1; }
.gpa-link-pages { margin-top: 20px; font-size: .9rem; }
.gpa-canvas { margin: 0; } */
