/* WaterWellGift block theme — supplementary styles (theme.json handles the rest) */

:root {
	--wwg-radius-sm: 6px;
	--wwg-radius-md: 12px;
	--wwg-radius-lg: 20px;
	--wwg-shadow-card: 0 1px 2px rgba(20, 33, 43, .05), 0 12px 32px -12px rgba(14, 59, 94, .18);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* ---------- Header ---------- */
.wwg-header {
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: 1px solid var(--wp--preset--color--line);
	background: #fff !important;
	/* no transform / filter / backdrop-filter here: they would trap the fixed mobile-menu overlay inside the header */
}
.admin-bar .wwg-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .wwg-header { top: 46px; } }
.wwg-header .wp-block-site-title a { text-decoration: none; }
.wwg-header .wp-block-navigation-item__content { padding: .35rem 0; border-bottom: 2px solid transparent; }
.wwg-header .wp-block-navigation-item__content:hover,
.wwg-header .current-menu-item > .wp-block-navigation-item__content { border-bottom-color: var(--wp--preset--color--brass); }
.wwg-header .wwg-header-cta .wp-block-button__link { padding: .6rem 1.25rem; font-size: .9rem; }
@media (max-width: 600px) { .wwg-header .wwg-header-cta { display: none; } }
.wwg-header .wc-block-mini-cart__button { color: var(--wp--preset--color--navy); }

/* Mobile menu overlay: full-screen, scrollable, above the sticky header and admin bar */
.wwg-header .wp-block-navigation__responsive-container.is-menu-open {
	position: fixed !important;
	inset: 0 !important;
	z-index: 100000 !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch;
	padding: 5.5rem 1.5rem 3rem !important;
	background: var(--wp--preset--color--navy) !important;
}
.wwg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start;
	gap: 0; padding: 0;
}
.wwg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	display: flex; flex-direction: column; align-items: flex-start; gap: 0; width: 100%;
}
.wwg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block; width: 100%;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.75rem; font-weight: 500; color: #fff !important;
	padding: .75rem 0; border-bottom: 1px solid rgba(255,255,255,.12);
}
.wwg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover { border-bottom-color: var(--wp--preset--color--brass); }
.wwg-header .wp-block-navigation__responsive-container-close {
	position: fixed !important; top: 1.25rem !important; right: 1.25rem !important;
	color: #fff !important; z-index: 100001;
}
.admin-bar .wwg-header .wp-block-navigation__responsive-container-close { top: calc(1.25rem + 46px) !important; }
.wwg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; }
.admin-bar .wwg-header .wp-block-navigation__responsive-container.is-menu-open { top: 0 !important; }
.wwg-header .wp-block-navigation__responsive-container-open,
.wwg-header .wp-block-navigation__responsive-container-open svg { color: var(--wp--preset--color--navy); width: 28px; height: 28px; }
/* WordPress adds this class to <html> while the menu is open; keep the page from scrolling behind it */
html.has-modal-open, html.has-modal-open body { overflow: hidden !important; }

/* ---------- Cards ---------- */
.wwg-card,
.wp-block-group.is-style-card {
	box-shadow: var(--wwg-shadow-card);
	border: 1px solid var(--wp--preset--color--line);
	transition: transform .2s ease, box-shadow .2s ease;
}
.wwg-features .wwg-card:hover { transform: translateY(-3px); }
.wwg-icon {
	font-size: 1.6rem;
	line-height: 1;
	width: 56px;
	height: 56px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--wp--preset--color--water-light);
	margin-bottom: 1rem !important;
}
.wwg-stars { letter-spacing: .1em; font-size: .95rem; margin-bottom: .5rem !important; }

/* ---------- Media-text rounded images ---------- */
.wwg-media-rounded .wp-block-media-text__media,
.wwg-media-rounded .wp-block-media-text__media img { border-radius: var(--wwg-radius-lg); overflow: hidden; }
.wwg-media-rounded .wp-block-media-text__media { min-height: 380px; box-shadow: var(--wwg-shadow-card); }

/* ---------- Hero plaque (engraved brass sign) ---------- */
.wwg-hero { position: relative; overflow: hidden; }
.wwg-hero::before {
	content: "";
	position: absolute; inset: 0;
	background:
		radial-gradient(ellipse at 20% 0%, rgba(31, 143, 181, .35), transparent 55%),
		radial-gradient(ellipse at 90% 100%, rgba(200, 155, 74, .18), transparent 50%);
	pointer-events: none;
}
.wwg-hero .wp-block-cover__inner-container { position: relative; }
.wwg-plaque {
	position: relative;
	max-width: 420px;
	margin: 0 auto;
	padding: 2.75rem 2.25rem;
	border-radius: 14px;
	background:
		linear-gradient(135deg, #E2BF74 0%, #C89B4A 35%, #A57A2E 60%, #D9B35F 100%);
	box-shadow:
		inset 0 2px 0 rgba(255, 255, 255, .45),
		inset 0 -2px 0 rgba(0, 0, 0, .25),
		0 30px 60px -20px rgba(0, 0, 0, .6);
	color: #3B2A0E;
	text-align: center;
	transform: rotate(-2deg);
}
.wwg-plaque::before {
	content: "";
	position: absolute; inset: 10px;
	border: 1px solid rgba(60, 40, 10, .45);
	border-radius: 9px;
	pointer-events: none;
}
.wwg-plaque::after {
	content: "";
	position: absolute;
	width: 8px; height: 8px; border-radius: 50%;
	background: radial-gradient(circle at 30% 30%, #fff8e1, #7a5a20);
	box-shadow: 0 0 0 1px rgba(0,0,0,.35),
		calc(100% + 0px) 0 0 0 transparent;
	top: 16px; left: 16px;
	filter: drop-shadow(0 1px 1px rgba(0,0,0,.4));
}
.wwg-plaque-eyebrow {
	font-size: .75rem; letter-spacing: .22em; text-transform: uppercase; font-weight: 600;
	color: #5A4014; margin-bottom: .75rem !important;
}
.wwg-plaque-name {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.6rem, 3vw, 2.1rem);
	line-height: 1.15; font-weight: 600;
	text-shadow: 0 1px 0 rgba(255,255,255,.35), 0 -1px 0 rgba(0,0,0,.35);
	margin-bottom: 1rem !important;
}
.wwg-plaque-sub { font-size: .85rem; color: #5A4014; margin: 0 !important; }

/* ---------- Trust / checklists ---------- */
.wwg-checklist { list-style: none; padding-left: 0; margin: 0 0 .75rem; }
.wwg-checklist li { position: relative; padding-left: 1.6rem; margin-bottom: .45rem; }
.wwg-checklist li::before {
	content: "✓"; position: absolute; left: 0; top: 0;
	color: var(--wp--preset--color--water); font-weight: 700;
}

/* ---------- Footer ---------- */
.wwg-footer a { color: #D6E3EE; text-decoration: none; }
.wwg-footer a:hover { color: var(--wp--preset--color--brass); }
.wwg-footer-links { list-style: none; }
.wwg-footer-links li { margin-bottom: .4rem; }
.wwg-footer .wp-block-heading { color: inherit; }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-outline .wp-block-button__link { border: 2px solid currentColor; background: transparent; }
.wp-block-button.is-style-outline .wp-block-button__link:not(.has-text-color) { color: var(--wp--preset--color--navy); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: rgba(14,59,94,.06); }
.wp-block-button.is-style-brass .wp-block-button__link {
	background: var(--wp--preset--color--brass); color: var(--wp--preset--color--navy-dark);
}

/* ---------- WooCommerce polish ---------- */
.wc-block-components-product-price,
.wc-block-grid__product-price,
.woocommerce .price { font-family: var(--wp--preset--font-family--body); }
.wc-block-components-product-button .wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce .single_add_to_cart_button,
.wc-block-components-button {
	border-radius: 999px !important;
	background: var(--wp--preset--color--navy) !important;
	color: #fff !important;
	font-weight: 600 !important;
	padding: .8rem 1.5rem !important;
}
.woocommerce .single_add_to_cart_button:hover,
.wc-block-components-button:hover { background: var(--wp--preset--color--water) !important; }
.woocommerce div.product form.cart .quantity .qty { border-radius: var(--wwg-radius-sm); border: 1px solid var(--wp--preset--color--line); padding: .6rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--wp--preset--color--line); padding: 0; margin: 0 0 1.5rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: none; border: 0; border-radius: 0; margin: 0 1.5rem 0 0; padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: .8rem 0; font-weight: 600; color: var(--wp--preset--color--muted); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--wp--preset--color--navy); box-shadow: inset 0 -2px 0 var(--wp--preset--color--brass); }
.woocommerce-product-gallery__image img,
.wc-block-components-product-image img,
.wp-block-woocommerce-product-image img { border-radius: 14px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border-top-color: var(--wp--preset--color--water); border-radius: var(--wwg-radius-md); background: var(--wp--preset--color--water-light);
}
.wc-block-components-notice-banner { border-radius: var(--wwg-radius-md); }
.woocommerce-Reviews .comment_container { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wwg-radius-md); padding: 1rem 1.25rem; }
.woocommerce-Reviews .commentlist li img.avatar { border-radius: 50%; }
.woocommerce .star-rating span::before, .woocommerce .star-rating::before { color: var(--wp--preset--color--brass); }

/* ---------- Elementor leftovers (before a page is migrated) ---------- */
/* Keep Elementor's raw HTML readable inside block templates once the plugin is switched off. */
.elementor-section { max-width: var(--wp--style--global--wide-size); margin: 0 auto; }
.elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: .75rem; }
.elementor-row, .elementor-container { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.elementor-column { flex: 1 1 260px; min-width: 0; }
.elementor-widget-container img { max-width: 100%; height: auto; }
.elementor-hidden-desktop, .elementor-hidden-tablet, .elementor-hidden-mobile { display: none; }
.elementor-button {
	display: inline-block; padding: .85rem 1.6rem; border-radius: 999px;
	background: var(--wp--preset--color--navy); color: #fff !important; text-decoration: none; font-weight: 600;
}

/* ---------- Forms (WPForms / CF7 inside the Contact page) ---------- */
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container textarea,
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 textarea,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea {
	width: 100%; padding: .8rem 1rem; border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wwg-radius-sm); background: #fff; font: inherit;
}
.wpforms-container button[type="submit"], .wpcf7 input[type="submit"] {
	border: 0; border-radius: 999px; padding: .85rem 1.6rem; font-weight: 600;
	background: var(--wp--preset--color--navy); color: #fff; cursor: pointer;
}

/* ---------- Responsive ---------- */
@media (max-width: 781px) {
	.wwg-plaque { transform: none; max-width: 100%; }
	.wwg-media-rounded .wp-block-media-text__media { min-height: 260px; }
	.wwg-hero { min-height: auto !important; }
}
