/*
Theme Name: Villakukkumaki Child
Theme URI: https://villakukkumaki.fi
Description: Child theme for Villakukkumaki project based on Astra
Author: Villakukkumaki
Author URI: https://villakukkumaki.fi
Template: astra
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: villakukkumaki-child
*/

/* 
 * Custom styles for Villakukkumaki
 * Add your custom CSS below this line
 */

/* =================================================================
   Menu Link Styling
   ================================================================= */

.menu-link {
	position: relative;
	display: inline-block;
	text-decoration: none;
}

/* Hover underline effect - shorter and centered */
.menu-link::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -6px;
	width: 75%;
	height: 5px;
	background-color: #FFED8A;
	border-radius: 2px;
	opacity: 0;
	transition: opacity 0.2s ease;
}

.menu-link:hover::after,
.current-menu-item > .menu-link::after {
	opacity: 1;
}

/* =================================================================
   Mobile Menu
   ================================================================= */

#ast-hf-mobile-menu .menu-link {
	color: inherit;
	transition: none;
}

#ast-hf-mobile-menu .menu-link:hover {
	color: #FFEB78;
}

/* Hide underline effect in mobile menu */
#ast-hf-mobile-menu .menu-link::after {
	display: none;
}

#ast-hf-mobile-menu li {
	padding-top: 8px;
	padding-bottom: 8px;
	line-height: 1.6;
	margin: 0;
}

/* =================================================================
   Mobile Header Sizing
   ================================================================= */

#ast-mobile-header .custom-logo {
	max-height: 40px;
	height: auto;
	width: auto;
}

#ast-mobile-header .ast-primary-header-bar {
	padding-top: 4px !important;
	padding-bottom: 4px !important;
	min-height: auto !important;
}

/* =================================================================
   Desktop Menu Spacing
   ================================================================= */

/* Prevent text wrapping */
#ast-desktop-header .main-header-menu.ast-nav-menu > li,
#ast-desktop-header .main-header-menu.ast-nav-menu > li > .menu-link,
#ast-desktop-header .main-header-menu.ast-nav-menu > li .menu-text {
	white-space: nowrap;
}

/* Control flexbox alignment */
#ast-desktop-header .main-header-menu.ast-nav-menu.ast-flex {
	justify-content: flex-start;
	gap: 0;
	column-gap: 0;
	flex-wrap: nowrap;
}

/* Hide empty center sections that create gaps */
#ast-desktop-header .site-header-primary-section-left-center,
#ast-desktop-header .site-header-primary-section-right-center {
	display: none !important;
}

/* Logo section: don't let it grow */
#ast-desktop-header .site-header-primary-section-center {
	flex-grow: 0 !important;
	flex-shrink: 0 !important;
}

/* Left menu: stick to the right (next to logo) */
#ast-desktop-header .site-header-primary-section-left {
	justify-content: flex-end;
	flex-grow: 0 !important;
	flex-shrink: 0 !important;
}

/* Right menu: stick to the left (next to logo) */
#ast-desktop-header .site-header-primary-section-right {
	justify-content: flex-start;
	flex-grow: 0 !important;
	flex-shrink: 0 !important;
}

/* Reset list item margins */
#ast-desktop-header .main-header-menu.ast-nav-menu > li {
	margin: 0;
}

/* Compact link padding - default */
#ast-desktop-header .main-header-menu.ast-nav-menu > li > .menu-link {
	padding-left: 0.5rem;
	padding-right: 0.5rem;
	font-size: inherit;
}

/* Tighter spacing on medium screens */
@media (max-width: 1500px) {
	#ast-desktop-header .main-header-menu.ast-nav-menu > li > .menu-link {
		padding-left: 0.4rem;
		padding-right: 0.4rem;
	}
}

@media (max-width: 1400px) {
	#ast-desktop-header .main-header-menu.ast-nav-menu > li > .menu-link {
		padding-left: 0.35rem;
		padding-right: 0.35rem;
		font-size: 0.97em;
	}
}

/* Even tighter on smaller screens */
@media (max-width: 1300px) {
	#ast-desktop-header .main-header-menu.ast-nav-menu > li > .menu-link {
		padding-left: 0.3rem;
		padding-right: 0.3rem;
		font-size: 0.94em;
	}
}

@media (max-width: 1200px) {
	#ast-desktop-header .main-header-menu.ast-nav-menu > li > .menu-link {
		padding-left: 0.25rem;
		padding-right: 0.25rem;
		font-size: 0.91em;
	}
}

/* Tightest spacing approaching mobile breakpoint */
@media (max-width: 1100px) {
	#ast-desktop-header .main-header-menu.ast-nav-menu > li > .menu-link {
		padding-left: 0.2rem;
		padding-right: 0.2rem;
		font-size: 0.88em;
	}
}

/* Last adjustments before burger menu at 1385px */
@media (max-width: 1400px) and (min-width: 1386px) {
	#ast-desktop-header .main-header-menu.ast-nav-menu > li > .menu-link {
		padding-left: 0.18rem;
		padding-right: 0.18rem;
		font-size: 0.85em;
	}
}

/* =================================================================
   Footer Paragraph Spacing
   ================================================================= */

/* Target the footer section 1 with block widgets */
.site-footer-primary-section-1 .widget_block {
	margin-bottom: 0.3rem !important;
}

/* Reduce spacing between block widgets in footer */
.site-footer-primary-section-1 section.widget,
.site-footer-primary-section-2 section.widget,
.site-footer-primary-section-3 section.widget {
	margin-bottom: 0.3rem !important;
}

/* Target paragraphs in all footer sections */
.site-footer-primary-section-1 p,
.site-footer-primary-section-1 .wp-block-paragraph,
.site-footer-primary-section-2 p,
.site-footer-primary-section-2 .wp-block-paragraph,
.site-footer-primary-section-3 p,
.site-footer-primary-section-3 .wp-block-paragraph {
	margin-bottom: 1rem !important;
	margin-top: 0.3rem !important;
}

/* Normalize all footer headings - set consistent size and spacing */
.site-footer h5,
.site-footer .wp-block-heading {
	font-size: 2.1rem !important;
	font-weight: inherit !important;
	margin-bottom: 0.5rem !important;
	margin-top: 0 !important;
}

/* First paragraph after heading should have minimal top margin */
.site-footer-primary-section-1 .wp-block-heading + section p,
.site-footer-primary-section-2 .wp-block-heading + section p,
.site-footer-primary-section-3 .wp-block-heading + section p {
	margin-top: 0.3rem !important;
}

/* =================================================================
   Contact Form Styling (SureForms)
   ================================================================= */

/* Make input fields white background */
.srfm-form .srfm-input-common {
	background-color: #ffffff !important;
}

/* Style field labels - position right above fields */
.srfm-form .srfm-description {
	font-size: 0.8rem !important;
	color: #000000 !important;
	font-weight: 500 !important;
	margin-bottom: 0.25rem !important;
	margin-top: 0 !important;
}

/* Reduce spacing between form fields - target all spacing elements */
.srfm-form .srfm-block-single {
	margin-bottom: 0rem !important;
	margin-top: 0rem !important;
	padding-bottom: 0rem !important;
	padding-top: 0rem !important;
}

.srfm-form .srfm-block-wrap {
	margin-bottom: 0.0rem !important;
	margin-top: 0rem !important;
}

.srfm-form .srfm-error-wrap {
	margin-top: 0rem !important;
	margin-bottom: 0rem !important;
}

/* Style submit button to match Google Maps button */
.srfm-form .srfm-submit-button {
	background-color: #37ae73 !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 50px !important;
	padding: 6px 24px !important;
	font-size: 0.8rem !important;
	font-weight: 500 !important;
	cursor: pointer !important;
    font-family:Raleway, sans-serif !important;
    font-weight:900 !important;
	transition: background-color 0.3s ease !important;
}

.srfm-form .srfm-submit-button:hover {
	background-color: #4ca7a1 !important;
}
