/*
Theme Name: Golden Bay Carpentry
Theme URI: https://goldenbaycarpentry.com.au
Author: Golden Bay Carpentry
Description: Light, modern block theme for Golden Bay Carpentry. Typography, spacing and layout follow the golden ratio (1.618).
Version: 1.0.2
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: golden-bay-carpentry
*/

:root {
	--gbc-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='89' height='13' viewBox='0 0 89 13'%3E%3Cpath d='M0 6.5C11-1 33-1 44.5 6.5S78 14 89 6.5' fill='none' stroke='%234797D2' stroke-width='1.5'/%3E%3C/svg%3E");
}

.wp-site-blocks > header { position: sticky; top: 0; z-index: 20; }
body.admin-bar .wp-site-blocks > header { top: 32px; }
.gbc-header { border-bottom: 1px solid var(--wp--preset--color--sea-pale); }
.gbc-logo { margin: 0; }
.gbc-logo img { height: auto; max-width: 100%; }
@media (max-width: 600px) { .gbc-logo img { width: 210px !important; } }

.wp-block-navigation-item.gbc-nav-cta .wp-block-navigation-item__content {
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--navy);
	padding: 8px 21px;
	border-radius: 999px;
	font-weight: 700;
}
.wp-block-navigation-item.gbc-nav-cta .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--base);
}

/* Hero: waves echo the logo */
.gbc-hero { position: relative; overflow: hidden; }
.gbc-hero::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 21px; height: 13px;
	background: var(--gbc-wave) repeat-x center;
}
.gbc-hero-art {
	margin: 0; padding: var(--wp--preset--spacing--40);
	background: none;
}
.gbc-hero-art img { display: block; width: 100%; height: auto; }

/* Cards, facts */
.gbc-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--sea-pale);
	border-top: 3px solid var(--wp--preset--color--gold);
	border-radius: 13px;
	padding: var(--wp--preset--spacing--40);
}
.gbc-card > :first-child { margin-top: 0; }
.gbc-card > :last-child { margin-bottom: 0; }
.gbc-facts { border-left: 3px solid var(--wp--preset--color--gold); padding-left: var(--wp--preset--spacing--40); }
.gbc-facts h3 { margin-top: var(--wp--preset--spacing--30); }
.gbc-facts h3:first-child { margin-top: 0; }

/* Dark sections */
.gbc-dark :is(h1, h2, h3, p, li) { color: var(--wp--preset--color--base); }
.gbc-dark .wp-element-button:hover { background: var(--wp--preset--color--base); color: var(--wp--preset--color--navy); }

/* Outline buttons */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--navy);
	border: 2px solid var(--wp--preset--color--navy);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--base);
}

/* Quote form */
.gbc-form { display: grid; gap: var(--wp--preset--spacing--30); }
.gbc-form__row { display: grid; gap: var(--wp--preset--spacing--30); grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); }
.gbc-form label { display: block; font-weight: 600; margin-bottom: 5px; color: var(--wp--preset--color--navy); }
.gbc-form input[type="text"], .gbc-form input[type="email"], .gbc-form input[type="tel"], .gbc-form select, .gbc-form textarea {
	width: 100%; box-sizing: border-box; font: inherit; color: var(--wp--preset--color--ink);
	padding: 13px; background: var(--wp--preset--color--base);
	border: 1px solid #9db3c7; border-radius: 8px;
}
.gbc-form textarea { min-height: 144px; resize: vertical; }
.gbc-form :is(input, select, textarea):focus-visible { outline: 3px solid var(--wp--preset--color--gold); outline-offset: 1px; border-color: var(--wp--preset--color--navy); }
.gbc-form button { justify-self: start; cursor: pointer; border: 0; }
.gbc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.gbc-notice { padding: 13px 21px; border-radius: 8px; margin-bottom: var(--wp--preset--spacing--30); font-weight: 600; }
.gbc-notice--ok { background: #e3f4e6; color: #1d5a2a; }
.gbc-notice--error { background: #fdeaea; color: #8a1f1f; }

html { scroll-behavior: smooth; scroll-padding-top: 89px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

/* Fonts: set directly so plugins such as Elementor (kit fonts) cannot override them.
   The !important flags can be removed once Elementor is deactivated. */
body, button, input, select, textarea { font-family: Roboto, sans-serif; }
h1, h2, h3, h4, h5, h6, .wp-block-heading, .wp-block-post-title {
	font-family: "Bebas Neue", sans-serif;
	font-weight: 400;
	letter-spacing: 0.01em;
}
.wp-site-blocks p, .wp-site-blocks li, .wp-site-blocks a, .wp-site-blocks label { font-family: Roboto, sans-serif; }
.wp-element-button, .wp-block-button__link { font-family: Roboto, sans-serif;}
