/* The Grove House — supplemental styles for block styles and layout details.
   Colors, fonts and spacing come from theme.json (editable in Appearance → Editor → Styles). */

:root { --grove-radius: 14px; }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
img { height: auto; }

/* ---------- Header ---------- */
.site-header { position: sticky; top: 0; z-index: 100; }
.site-header .grove-header-bar { background: rgba(251, 246, 236, 0.96); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-bottom: 1px solid rgba(43, 26, 24, 0.08); transition: box-shadow .2s; }
.is-scrolled .site-header .grove-header-bar { box-shadow: 0 6px 20px rgba(43, 26, 24, 0.10); }
.site-header .wp-block-site-logo img { width: auto; max-height: 70px; }
.site-header .wp-block-navigation .wp-block-navigation-item__content { position: relative; padding: .25rem 0; }
.site-header .wp-block-navigation .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -4px; height: 2px; background: var(--wp--preset--color--red); transition: right .2s; }
.site-header .wp-block-navigation .wp-block-navigation-item__content:hover::after,
.site-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content::after { right: 0; }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 0; } }
@media (max-width: 600px) {
	.site-header .wp-block-site-logo img { max-height: 54px; }
	.grove-topbar .grove-topbar-hours { display: none; }
	.site-header .grove-header-order .wp-block-button__link { padding: .6rem 1rem; font-size: .9rem; }
}

/* ---------- Buttons (block styles) ---------- */
.wp-block-button.is-style-light-outline .wp-block-button__link { background: transparent; color: #fff; border: 2px solid #fff; }
.wp-block-button.is-style-light-outline .wp-block-button__link:hover { background: rgba(255, 255, 255, .14); }
.wp-block-button.is-style-teal .wp-block-button__link { background: var(--wp--preset--color--teal); color: #fff; }
.wp-block-button.is-style-teal .wp-block-button__link:hover { background: var(--wp--preset--color--teal-dark); }
.wp-block-button.is-style-white .wp-block-button__link { background: #fff; color: var(--wp--preset--color--red); }
.wp-block-button.is-style-white .wp-block-button__link:hover { background: var(--wp--preset--color--cream); }
.wp-block-button.is-style-outline .wp-block-button__link { border: 2px solid currentColor; background: transparent; color: var(--wp--preset--color--teal); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--teal); color: #fff; }
.wp-block-button__link { transition: transform .15s, background-color .15s; }
.wp-block-button__link:hover { transform: translateY(-2px); }

/* ---------- Hero ---------- */
.grove-hero .wp-block-cover__inner-container { width: 100%; }
.grove-hero video.wp-block-cover__video-background { object-fit: cover; }
@media (max-width: 781px) { .grove-hero { min-height: 82svh !important; } }

/* ---------- Group block styles ---------- */
.wp-block-group.is-style-card { background: #fff; border-radius: var(--grove-radius); box-shadow: var(--wp--preset--shadow--soft); transition: transform .2s; }
.wp-block-group.is-style-card:hover { transform: translateY(-4px); }
.wp-block-group.is-style-dish-card { background: #fff; border-radius: var(--grove-radius); box-shadow: var(--wp--preset--shadow--light); overflow: hidden; }
.wp-block-group.is-style-dish-card .wp-block-image { margin: 0; overflow: hidden; }
.wp-block-group.is-style-dish-card .wp-block-image img { border-radius: 0; width: 100%; aspect-ratio: 1; object-fit: cover; transition: transform .4s; display: block; }
.wp-block-group.is-style-dish-card:hover .wp-block-image img { transform: scale(1.06); }
.wp-block-group.is-style-glass-row { background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .22); border-radius: 12px; }
.wp-block-group.is-style-pull-up { position: relative; z-index: 5; margin-top: -64px !important; }
@media (max-width: 781px) { .wp-block-group.is-style-pull-up { margin-top: -36px !important; } }
.wp-block-group.is-style-photo-frame { border-radius: var(--grove-radius); overflow: hidden; box-shadow: var(--wp--preset--shadow--soft); }
.wp-block-group.is-style-food-category { scroll-margin-top: 120px; }
.wp-block-group.is-style-food-category.is-hidden { display: none; }

/* Card links: the whole card is clickable via its heading link */
.grove-link-card { position: relative; }
.grove-link-card h3 a::after { content: ""; position: absolute; inset: 0; }
.grove-link-card h3 a { text-decoration: none; color: inherit; }

/* ---------- Cover: dish tiles ---------- */
.wp-block-cover.is-style-dish-tile { border-radius: var(--grove-radius); overflow: hidden; box-shadow: var(--wp--preset--shadow--soft); }
.wp-block-cover.is-style-dish-tile .wp-block-cover__image-background { transition: transform .5s; }
.wp-block-cover.is-style-dish-tile:hover .wp-block-cover__image-background { transform: scale(1.06); }

/* ---------- Images / paragraphs ---------- */
.wp-block-image.is-style-shadow-photo img { box-shadow: var(--wp--preset--shadow--soft); }
p.is-style-kicker { text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; font-weight: 700; color: var(--wp--preset--color--sand); margin-bottom: 0; }

/* ---------- Map ---------- */
.grove-map, .is-style-map-embed { border-radius: var(--grove-radius); overflow: hidden; box-shadow: var(--wp--preset--shadow--soft); min-height: 380px; background: #e8e1d4; }
.grove-map iframe { width: 100%; height: 100%; min-height: 380px; border: 0; display: block; }

/* ---------- Food filter pills (built by theme.js) ---------- */
.grove-food-filter { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; margin: 0 auto 2.4rem; }
.grove-food-filter button { border: 2px solid var(--wp--preset--color--teal); background: transparent; color: var(--wp--preset--color--teal); font: 600 .95rem var(--wp--preset--font-family--body); padding: .5rem 1.1rem; border-radius: 999px; cursor: pointer; }
.grove-food-filter button[aria-pressed="true"], .grove-food-filter button:hover { background: var(--wp--preset--color--teal); color: #fff; }

/* ---------- Contact form ---------- */
*, *::before, *::after { box-sizing: border-box; }
.grove-contact-form { background: #fff; border-radius: var(--grove-radius); padding: clamp(22px, 4vw, 34px); box-shadow: var(--wp--preset--shadow--soft); }
.grove-contact-form form { display: grid; gap: 14px; }
.grove-contact-form .grove-form-title { font-size: 1.8rem; margin: 0 0 .4rem; }
.grove-contact-form label { display: grid; gap: 6px; font-weight: 600; font-size: .92rem; }
/* !important: some hosts (e.g. GoDaddy's system plugin) inject high-specificity input styles that hide the field borders. */
.grove-contact-form input:not([type="hidden"]), .grove-contact-form textarea, .grove-contact-form select { font: inherit !important; font-weight: 400 !important; padding: .8rem 1rem !important; border: 1.5px solid #CDBF9F !important; border-radius: 10px !important; background: #FFFDF8 !important; color: var(--wp--preset--color--ink) !important; width: 100% !important; box-shadow: none !important; min-height: 48px; }
.grove-contact-form input::placeholder, .grove-contact-form textarea::placeholder { color: #9A8B84; }
.grove-contact-form input:focus, .grove-contact-form textarea:focus, .grove-contact-form select:focus { outline: 2px solid var(--wp--preset--color--teal) !important; outline-offset: 0; border-color: var(--wp--preset--color--teal) !important; }
.grove-contact-form .grove-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.grove-contact-form button { border: 0; cursor: pointer; justify-self: start; }
.grove-contact-form .grove-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.grove-form-notice { padding: 1rem 1.2rem; border-radius: 10px; margin-bottom: 1rem; }
.grove-form-notice.is-success { background: #E3F2F2; }
.grove-form-notice.is-error { background: #FBE3E4; }
@media (max-width: 600px) { .grove-contact-form .grove-row { grid-template-columns: 1fr; } }

/* ---------- Decorative circle on colored bands ---------- */
.grove-band { position: relative; overflow: hidden; }
.grove-band::after { content: ""; position: absolute; right: -80px; top: -80px; width: 320px; height: 320px; border-radius: 50%; background: rgba(255, 255, 255, .07); pointer-events: none; }

/* ---------- Footer ---------- */
.site-footer a { text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
.site-footer .wp-block-navigation { gap: .45rem; }

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ---------- Seamless full-width sections ---------- */
.wp-site-blocks > * + * { margin-block-start: 0; }
main.wp-block-group { margin-block-start: 0; }

/* ---------- Small-screen refinements ---------- */
.wp-block-group.is-style-glass-row > p:last-child { white-space: nowrap; flex-shrink: 0; }
@media (max-width: 600px) {
	.wp-block-group.is-style-food-category .is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
	.wp-block-group.is-style-dish-card h3 { font-size: 1rem !important; }
	.wp-block-group.is-style-dish-card p { font-size: .8rem !important; }
	.wp-block-cover.is-style-dish-tile { min-height: 340px !important; }
}
