/* CIG Main Street — supplemental styles (theme.json handles the base). */

:root {
	--cig-green: #1F4D3D;
	--cig-green-deep: #163A2E;
	--cig-gold: #B8913F;
	--cig-gold-light: #D4B46E;
	--cig-bronze: #7F6128;
	--cig-ivory: #FBF8F1;
	--cig-cream: #F3ECDD;
	--cig-line: #E4DCCB;
	--cig-ink: #1E2522;
	--cig-shadow: 0 22px 48px -30px rgba(22, 58, 46, .45);
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--cig-gold-light); color: var(--cig-ink); }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
img { height: auto; }

/* ---------- Typography helpers ---------- */
.cig-eyebrow {
	font-family: var(--wp--preset--font-family--label);
	font-weight: 700;
	font-size: .74rem !important;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--cig-bronze);
	margin-bottom: .25rem;
}
.cig-eyebrow::before {
	content: "";
	display: inline-block;
	width: 28px;
	height: 1px;
	background: var(--cig-gold);
	vertical-align: middle;
	margin-right: 12px;
	transform: translateY(-2px);
}
.has-text-align-center.cig-eyebrow::after {
	content: "";
	display: inline-block;
	width: 28px;
	height: 1px;
	background: var(--cig-gold);
	vertical-align: middle;
	margin-left: 12px;
	transform: translateY(-2px);
}
.cig-on-dark .cig-eyebrow, .cig-eyebrow.is-light { color: var(--cig-gold-light); }
.cig-lead { font-size: 1.2rem; line-height: 1.7; }
.cig-serif-italic { font-family: var(--wp--preset--font-family--serif); font-style: italic; }

/* Gold rule */
.cig-rule { width: 56px; height: 2px; background: var(--cig-gold); border: 0; margin-left: 0; }
.has-text-align-center + .cig-rule, .cig-rule.aligncenter { margin-left: auto; margin-right: auto; }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--cig-green);
	border: 1.5px solid var(--cig-green);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--cig-green); color: #fff; }
.cig-on-dark .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.7); }
.cig-on-dark .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--cig-green); }
.wp-block-button.cig-btn-gold > .wp-block-button__link { background: var(--cig-gold); color: var(--cig-ink); }
.wp-block-button.cig-btn-gold > .wp-block-button__link:hover { background: var(--cig-gold-light); color: var(--cig-ink); }
.wp-block-button__link { transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.wp-block-button__link:hover { transform: translateY(-1px); }

/* ---------- Header ---------- */
.cig-topbar { font-family: var(--wp--preset--font-family--label); font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; }
.cig-topbar a { color: #fff; text-decoration: none; }
.cig-topbar a:hover { color: var(--cig-gold-light); }
.cig-header { border-bottom: 1px solid var(--cig-line); position: relative; z-index: 20; }
.cig-header .cig-logo img { width: 240px; max-width: 58vw; display: block; }
.cig-header .wp-block-navigation a { text-decoration: none; }
.cig-header .wp-block-navigation .wp-block-navigation-item__content:hover { color: var(--cig-bronze); }
.cig-header .wp-block-navigation__submenu-container {
	border: 1px solid var(--cig-line) !important;
	box-shadow: var(--cig-shadow);
	padding: .5rem 0;
	min-width: 270px !important;
	text-transform: none;
	letter-spacing: .02em;
	font-family: var(--wp--preset--font-family--sans);
	font-size: .98rem;
	font-weight: 600;
}
.cig-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .45rem 1.2rem !important; }
.cig-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--cig-ivory) !important; padding-top: 2rem; }
.cig-header .wp-block-button__link { padding: .8rem 1.25rem; }
@media (max-width: 781px) {
	.cig-topbar .cig-hide-mobile { display: none !important; }
	.cig-header .cig-header-cta { display: none !important; }
	.cig-header .cig-logo img { width: 200px; }
}

/* ---------- Hero ---------- */
.cig-hero.wp-block-cover { min-height: min(86vh, 760px) !important; }
.cig-hero .wp-block-cover__inner-container { max-width: 1200px; }
.cig-hero h1 { color: #fff; text-shadow: 0 2px 24px rgba(0,0,0,.25); }
.cig-hero p { color: rgba(255,255,255,.92); }
.cig-hero .cig-hero-card {
	background: rgba(251, 248, 241, .97);
	border-top: 3px solid var(--cig-gold);
	box-shadow: 0 30px 60px -30px rgba(0,0,0,.6);
}
.cig-hero .cig-hero-card p, .cig-hero .cig-hero-card h2, .cig-hero .cig-hero-card h3 { color: var(--cig-ink); text-shadow: none; }
.cig-hero .cig-hero-card .cig-eyebrow { color: var(--cig-bronze); }

/* Page heading band (inner pages) */
.cig-page-hero { position: relative; overflow: hidden; }
.cig-page-hero::after {
	content: "";
	position: absolute;
	right: -60px;
	top: 50%;
	width: 320px;
	height: 320px;
	transform: translateY(-50%);
	background: url("../img/watermark-clock.svg") center / contain no-repeat;
	opacity: .07;
	pointer-events: none;
}
.cig-page-hero h1 { max-width: 16ch; }
.cig-breadcrumb { font-size: .9rem; color: #6b706d; }
.cig-breadcrumb a { color: inherit; text-decoration: none; }
.cig-breadcrumb a:hover { color: var(--cig-green); }

/* ---------- Cards ---------- */
.cig-card {
	background: #fff;
	border: 1px solid var(--cig-line);
	border-radius: 6px;
	transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
.cig-card:hover { box-shadow: var(--cig-shadow); transform: translateY(-3px); border-color: #d7cbb2; }
.cig-card h3 a, .cig-card h4 a { text-decoration: none; color: inherit; }
.cig-card h3 a::after, .cig-card h4 a::after { content: ""; position: absolute; inset: 0; }
.cig-card { position: relative; }
.cig-card .cig-more { font-family: var(--wp--preset--font-family--label); font-weight: 700; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--cig-bronze); }
.cig-quote-tile { text-align: center; }
.cig-quote-tile .cig-icon { margin-left: auto !important; margin-right: auto !important; }
.cig-quote-tile h3 { font-family: var(--wp--preset--font-family--label) !important; font-weight: 700 !important; font-size: .8rem !important; letter-spacing: .14em; text-transform: uppercase; margin: .25rem 0 0 !important; }
.cig-icon { margin: 0 0 .25rem !important; }
.cig-icon img { display: block; }

.cig-columns-cards > .wp-block-column { display: flex; }
.cig-columns-cards > .wp-block-column > .cig-card { flex: 1; }

/* Feature list (gold checkmarks) */
ul.cig-checklist { list-style: none; padding-left: 0; }
ul.cig-checklist li { position: relative; padding-left: 2rem; margin-bottom: .6rem; }
ul.cig-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .35em;
	width: 1.15rem;
	height: 1.15rem;
	background: url("../icons/checkmark.svg") center / contain no-repeat;
}
.cig-on-dark ul.cig-checklist li::before { background-image: url("../icons/checkmark-light.svg"); }
.cig-hero .cig-hero-card ul.cig-checklist li::before { background-image: url("../icons/checkmark.svg"); }

/* Link lists */
ul.cig-links { list-style: none; padding-left: 0; margin: 0; }
ul.cig-links li { padding: .5rem 0; border-bottom: 1px solid var(--cig-line); }
ul.cig-links li a { text-decoration: none; display: flex; justify-content: space-between; align-items: center; color: var(--cig-ink); font-weight: 600; }
ul.cig-links li a::after { content: "→"; color: var(--cig-gold); transition: transform .2s ease; }
ul.cig-links li a:hover { color: var(--cig-green); }
ul.cig-links li a:hover::after { transform: translateX(4px); }

/* Steps */
.cig-step-num {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 2.6rem !important;
	line-height: 1 !important;
	color: var(--cig-gold);
	margin-bottom: .25rem !important;
}

/* Reviews */
.cig-review { background: #fff; border: 1px solid var(--cig-line); border-radius: 6px; }
.cig-columns-cards .cig-review { flex: 1; }
.cig-columns-cards > .wp-block-column > .cig-review { flex: 1; }
.cig-stars { color: var(--cig-gold); letter-spacing: .2em; font-size: 1rem; }
.cig-review .wp-block-quote { margin: 0; padding: 0; }
.cig-review .wp-block-quote p { font-size: 1.08rem; }
.cig-review cite, .cig-review .wp-block-quote cite {
	font-family: var(--wp--preset--font-family--label);
	font-style: normal;
	font-weight: 700;
	font-size: .74rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--cig-bronze);
}

/* Sidebar card */
.cig-sidebar-card { background: var(--cig-green); color: #EAF0EC; border-radius: 6px; position: sticky; top: 2rem; }
.cig-sidebar-card h3, .cig-sidebar-card h4 { color: #fff; }
.cig-sidebar-card a { color: #fff; }
.cig-sidebar-card .cig-phone { font-family: var(--wp--preset--font-family--serif); font-size: 1.7rem; color: #fff; text-decoration: none; }

/* FAQ / details */
.wp-block-details summary {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.15rem;
	color: var(--cig-ink);
	cursor: pointer;
	list-style: none;
	position: relative;
	padding-right: 2rem;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: -.1rem;
	font-family: var(--wp--preset--font-family--label);
	font-size: 1.4rem;
	color: var(--cig-gold);
	transition: transform .2s ease;
}
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details > *:not(summary) { margin-top: .75rem; }

/* Dark sections */
.cig-on-dark, .cig-on-dark p { color: #E6ECE8; }
.cig-on-dark h1, .cig-on-dark h2, .cig-on-dark h3, .cig-on-dark h4 { color: #fff; }
.cig-on-dark a:not(.wp-block-button__link) { color: #fff; }

/* Photo frame */
.cig-photo img { border-radius: 4px; box-shadow: var(--cig-shadow); }
.cig-photo-frame { position: relative; }
.cig-photo-frame::before {
	content: "";
	position: absolute;
	inset: 18px -18px -18px 18px;
	border: 1px solid var(--cig-gold);
	border-radius: 4px;
	z-index: 0;
}
.cig-photo-frame > * { position: relative; z-index: 1; }
@media (max-width: 781px) { .cig-photo-frame::before { inset: 12px -10px -12px 10px; } }

/* ---------- Footer ---------- */
.cig-footer { font-size: .98rem; }
.cig-footer .cig-logo img { width: 230px; }
.cig-footer h4 {
	font-family: var(--wp--preset--font-family--label) !important;
	font-size: .74rem !important;
	font-weight: 700 !important;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--cig-gold-light) !important;
}
.cig-footer ul { list-style: none; padding-left: 0; margin: 0; }
.cig-footer ul li { margin: .35rem 0; }
.cig-footer a { color: #E6ECE8; text-decoration: none; }
.cig-footer a:hover { color: var(--cig-gold-light); }
.cig-footer .cig-legal { font-size: .85rem; color: #A9B8AF; }
.cig-hours td { padding: .2rem 0; border: 0; }
.cig-hours td:last-child { text-align: right; color: #fff; }
.cig-hours table { border-collapse: collapse; width: 100%; }
.cig-footer .wp-block-table td { border: 0; }

/* Contact form 7 styling */
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea, .wpcf7 select {
	width: 100%;
	border: 1px solid #d8cfbd;
	background: #fff;
	border-radius: 3px;
	padding: .8rem 1rem;
	font: inherit;
	color: var(--cig-ink);
}
.wpcf7 input:focus, .wpcf7 textarea:focus { outline: 2px solid var(--cig-gold); outline-offset: 1px; border-color: var(--cig-gold); }
.wpcf7 input[type="submit"] {
	background: var(--cig-green);
	color: #fff;
	border: 0;
	border-radius: 3px;
	padding: .95rem 1.6rem;
	font-family: var(--wp--preset--font-family--label);
	font-weight: 700;
	font-size: .8rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	cursor: pointer;
}
.wpcf7 input[type="submit"]:hover { background: var(--cig-green-deep); }

/* Accessibility: visible focus */
a:focus-visible, .wp-block-button__link:focus-visible, summary:focus-visible { outline: 2px solid var(--cig-gold); outline-offset: 3px; }

/* Responsive tweaks */
@media (max-width: 781px) {
	.cig-hero.wp-block-cover { min-height: auto !important; }
	.cig-stack-mobile-reverse { flex-direction: column-reverse; }
}

/* Fixes */
.cig-hero .cig-hero-card, .cig-hero .cig-hero-card li, .cig-hero .cig-hero-card em { color: var(--cig-ink); }
.cig-quote-tile .wp-block-image, .cig-quote-tile figure.cig-icon { text-align: center; display: block; }
.cig-quote-tile .wp-block-image img { margin-left: auto; margin-right: auto; }
.wp-block-post-content > .alignfull:first-child { margin-top: 0; }
.wp-block-post-content > .alignfull { margin-top: 0; margin-bottom: 0; }
.has-text-align-center { text-align: center; }
.has-text-align-left { text-align: left; }
.has-text-align-right { text-align: right; }

.cig-hero.wp-block-cover { padding-top: clamp(3.5rem, 8vw, 6rem); padding-bottom: clamp(3.5rem, 8vw, 6rem); }
.cig-photo-hero .cig-breadcrumb, .cig-photo-hero .cig-breadcrumb a { color: rgba(255,255,255,.8); }
.cig-hero .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: var(--cig-gold); color: var(--cig-ink); }
.cig-hero .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: var(--cig-gold-light); color: var(--cig-ink); }
