/*
Theme Name: A Little More Adventure
Theme URI: https://alittlemoreadventure.com
Author: A Little More Adventure
Description: Custom Gutenberg block theme for A Little More Adventure — Central Florida local discovery creator. Warm Old-Florida palette, accessible by design (WCAG 2.1 AA), built for full-site editing.
Version: 1.1.2
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: alma
*/

/* ---------------------------------------------------------------
   Accessibility: visible focus everywhere, always.
---------------------------------------------------------------- */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--palm);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Higher-contrast focus on dark (palm) bands */
.has-palm-background-color :where(a, button, input):focus-visible,
.has-palm-deep-background-color :where(a, button, input):focus-visible {
	outline-color: var(--wp--preset--color--paper);
}

/* ---------------------------------------------------------------
   Signature element: the marquee board (Giving Back total).
   A nod to the Old-Florida drive-in sign.
---------------------------------------------------------------- */
.alma-marquee {
	border: 3px solid var(--wp--preset--color--sunshine);
	border-radius: 14px;
	box-shadow:
		0 0 0 4px var(--wp--preset--color--palm),
		0 10px 24px rgba(20, 40, 46, 0.28);
	position: relative;
}

.alma-marquee::before,
.alma-marquee::after {
	content: "";
	position: absolute;
	top: -8px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--wp--preset--color--sunshine);
}
.alma-marquee::before { left: 12%; }
.alma-marquee::after  { right: 12%; }

/* ---------------------------------------------------------------
   Postcard card: used for adventure/press proof cards.
---------------------------------------------------------------- */
.alma-postcard {
	background: var(--wp--preset--color--paper);
	border: 1px solid rgba(53, 96, 107, 0.18);
	border-radius: 10px;
	box-shadow: 0 4px 14px rgba(20, 40, 46, 0.08);
	overflow: hidden;
	transition: transform 160ms ease, box-shadow 160ms ease;
}

.alma-postcard:hover,
.alma-postcard:focus-within {
	transform: translateY(-3px);
	box-shadow: 0 10px 22px rgba(20, 40, 46, 0.14);
}

/* ---------------------------------------------------------------
   Skip link (belt-and-suspenders; WP prints one on block themes).
---------------------------------------------------------------- */
.skip-link.screen-reader-text:focus {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 100000;
	padding: 12px 18px;
	background: var(--wp--preset--color--palm);
	color: var(--wp--preset--color--paper);
	clip: auto;
	clip-path: none;
	width: auto;
	height: auto;
	text-decoration: none;
	border-radius: 6px;
}

/* ---------------------------------------------------------------
   Motion: respect user preference.
---------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
	.alma-postcard:hover,
	.alma-postcard:focus-within {
		transform: none;
	}
}

/* ---------------------------------------------------------------
   Mobile navigation overlay: brand styling
---------------------------------------------------------------- */
.wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--paper);
	padding: 4.5rem 1.5rem 2rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding: 1rem 1.5rem 2rem !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-start;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: flex-start !important;
	gap: 1.25rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	justify-content: flex-start !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--wp--preset--color--palm-deep);
}
.wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--palm-deep);
}

/* Gravity Forms fields: full width on small screens */
@media (max-width: 600px) {
	.gform_wrapper .gfield input[type="text"],
	.gform_wrapper .gfield input[type="email"],
	.gform_wrapper .gfield input[type="tel"],
	.gform_wrapper .gfield textarea,
	.gform_wrapper .gfield select {
		width: 100% !important;
	}
}

/* ---------------------------------------------------------------
   Gravity Forms: brand styling — larger fields, smart layout,
   full-width brand submit buttons
---------------------------------------------------------------- */
.gform_wrapper.gform-theme--orbital {
	--gform-theme-color-primary: #35606B;
	--gform-theme-color-primary-contrast: #FFFDF8;
	--gform-theme-color-primary-darker: #24454E;
}

/* Labels & descriptions: match site typography */
.gform_wrapper .gfield_label,
.gform_wrapper legend.gfield_label {
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	color: var(--wp--preset--color--palm-deep) !important;
}
.gform_wrapper .gfield_description {
	font-size: 0.95rem !important;
}

/* Inputs: larger, rounded, brand borders, full width of their cell */
.gform_wrapper .gfield input:not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]),
.gform_wrapper .gfield select,
.gform_wrapper .gfield textarea {
	width: 100% !important;
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: 1.1rem !important;
	color: var(--wp--preset--color--ink) !important;
	background-color: #fff !important;
	border: 1.5px solid rgba(53, 96, 107, 0.4) !important;
	border-radius: 10px !important;
	padding: 0.85rem 1rem !important;
}
.gform_wrapper .gfield textarea { min-height: 9rem; }
.gform_wrapper .gfield input:focus,
.gform_wrapper .gfield select:focus,
.gform_wrapper .gfield textarea:focus {
	border-color: var(--wp--preset--color--palm) !important;
}

/* Comfortable rhythm between fields */
.gform_wrapper .gform_fields {
	row-gap: 1.4rem !important;
	column-gap: 1.25rem !important;
}

/* Two-column pairs on larger screens (stack to full width on mobile) */
@media (min-width: 700px) {
	#field_1_1, #field_1_2, #field_1_3, #field_1_4, #field_1_5, #field_1_6,
	#field_2_1, #field_2_2,
	#field_4_1, #field_4_2 {
		--gform-grid-col-span: 6;
		grid-column: span 6;
	}
}

/* Submit: full-width brand pill */
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer button,
.gform_wrapper input.gform_button {
	width: 100% !important;
	background: var(--wp--preset--color--palm) !important;
	color: var(--wp--preset--color--paper) !important;
	border: none !important;
	border-radius: 999px !important;
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	padding: 0.95rem 1.5rem !important;
	cursor: pointer;
	transition: background-color .15s ease;
}
.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_footer input[type="submit"]:focus-visible,
.gform_wrapper .gform_footer button:hover,
.gform_wrapper input.gform_button:hover {
	background: var(--wp--preset--color--palm-deep) !important;
}
.gform_wrapper .gform_footer { margin-top: 0.5rem !important; }

/* Email signup (single-field form): centered, comfortable width */
#gform_wrapper_3 {
	max-width: 30rem;
	margin-left: auto;
	margin-right: auto;
}

/* ---------------------------------------------------------------
   Design-system conformance (v1.1.1): header hairline, 44px
   touch targets, social pill sizing.
---------------------------------------------------------------- */
header.wp-block-group {
	border-bottom-style: solid;
}

.wp-block-navigation a {
	padding-block: 0.55rem;
}

.wp-block-social-links .wp-social-link a {
	min-height: 44px;
	align-items: center;
}

/* Content images: design-system corner radius */
.wp-site-blocks .wp-block-image img {
	border-radius: 10px;
}
