/*
Theme Name: Go Wild Wellness
Theme URI: https://gowildwellness.fi
Description: Go Wild Wellnessin oma Astra-lapsiteema. Luontoa, palautumista, valokuvausta ja elämyksellistä hyvinvointia varten.
Author: Go Wild Wellness
Author URI: https://gowildwellness.fi
Template: astra
Version: 1.0.0
Text Domain: go-wild-wellness
*/

/* --------------------------------------------------------------
   GO WILD WELLNESS – BRÄNDIPOHJA
   -------------------------------------------------------------- */

:root {
	--gww-forest-night: #17382F;
	--gww-pine: #315C4A;
	--gww-moss: #8FA58D;
	--gww-ochre: #C4773D;
	--gww-oat: #DED2BF;
	--gww-cream: #F6F2E9;
	--gww-charcoal: #252B28;
	--gww-white: #FFFFFF;

	--gww-radius-small: 8px;
	--gww-radius-medium: 18px;
	--gww-radius-large: 32px;

	--gww-shadow-soft: 0 18px 50px rgba(23, 56, 47, 0.12);
	--gww-content-width: 1200px;
}

/* Perustypografia */
html {
	scroll-behavior: smooth;
}

body {
	background: var(--gww-cream);
	color: var(--gww-charcoal);
	font-family: "Manrope", "Avenir Next", Avenir, Helvetica, Arial, sans-serif;
	font-size: 18px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.site-title {
	color: var(--gww-forest-night);
	font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.08;
}

h1 {
	font-size: clamp(3rem, 7vw, 6.5rem);
}

h2 {
	font-size: clamp(2.25rem, 5vw, 4.5rem);
}

h3 {
	font-size: clamp(1.65rem, 3vw, 2.5rem);
}

a {
	color: var(--gww-pine);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

a:hover,
a:focus {
	color: var(--gww-ochre);
}

/* Saavutettava näppäimistökohdistus */
:focus-visible {
	outline: 3px solid var(--gww-ochre);
	outline-offset: 3px;
}

/* Sivuston yläosa */
.site-header,
.ast-primary-header-bar {
	background: rgba(246, 242, 233, 0.96);
	border-bottom: 1px solid rgba(49, 92, 74, 0.14);
}

.main-header-menu .menu-link {
	color: var(--gww-forest-night);
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.main-header-menu .menu-link:hover,
.main-header-menu .current-menu-item > .menu-link {
	color: var(--gww-ochre);
}

/* Painikkeet */
.wp-block-button__link,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.ast-button,
.button {
	background: var(--gww-ochre);
	border: 2px solid var(--gww-ochre);
	border-radius: 999px;
	color: var(--gww-white);
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: 0.015em;
	padding: 0.85rem 1.45rem;
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.wp-block-button__link:hover,
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.ast-button:hover,
.button:hover {
	background: var(--gww-forest-night);
	border-color: var(--gww-forest-night);
	color: var(--gww-white);
	box-shadow: var(--gww-shadow-soft);
	transform: translateY(-2px);
}

/* Sisältökortit */
.gww-card,
.wp-block-group.gww-card {
	background: var(--gww-white);
	border: 1px solid rgba(49, 92, 74, 0.12);
	border-radius: var(--gww-radius-medium);
	box-shadow: var(--gww-shadow-soft);
	overflow: hidden;
	padding: clamp(1.25rem, 3vw, 2rem);
}

/* Tumma sisältöosio */
.gww-dark,
.wp-block-group.gww-dark {
	background: var(--gww-forest-night);
	color: var(--gww-cream);
}

.gww-dark h1,
.gww-dark h2,
.gww-dark h3,
.gww-dark h4,
.gww-dark h5,
.gww-dark h6,
.gww-dark a {
	color: var(--gww-white);
}

/* Pieni otsikkotunniste */
.gww-eyebrow {
	color: var(--gww-ochre);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

/* Kuvat */
.entry-content img {
	border-radius: var(--gww-radius-small);
}

.gww-image-round img {
	border-radius: var(--gww-radius-large);
}

/* Lomakkeet */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea,
select {
	background: var(--gww-white);
	border: 1px solid rgba(49, 92, 74, 0.32);
	border-radius: var(--gww-radius-small);
	color: var(--gww-charcoal);
	padding: 0.85rem 1rem;
}

input:focus,
textarea:focus,
select:focus {
	border-color: var(--gww-ochre);
	box-shadow: 0 0 0 3px rgba(196, 119, 61, 0.16);
}

/* Footer */
.site-footer,
.site-primary-footer-wrap,
.site-below-footer-wrap {
	background: var(--gww-forest-night);
	color: var(--gww-cream);
}

.site-footer a {
	color: var(--gww-cream);
}

.site-footer a:hover {
	color: var(--gww-ochre);
}

/* Mobiili */
@media (max-width: 768px) {
	body {
		font-size: 17px;
	}

	.wp-block-button__link,
	.ast-button,
	.button {
		width: 100%;
		text-align: center;
	}

	.gww-card,
	.wp-block-group.gww-card {
		padding: 1.25rem;
	}
}

/* Liikettä vähentävä käyttäjäasetus */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
