/*
Theme Name: Ambersky
Description: A minimalistic WordPress theme
Version: 1.0
Author: Your Name
*/

:root {
	--color-primary: #ff7301;
	--color-secondary: lch(33.36% 26.96 253.55);
}

html {
	font-size: 8px;
}

/* Reset and base styles */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: 'agenda', sans-serif;
	line-height: 1.6;
	color: #333;
	background: #fff;
	font-size: 2rem;
	line-height: 1.35;
	background-color: #eff1f8;
	min-height: 100vh;
}

h1 {
	font-size: 6rem;
	font-weight: 600;
	margin-bottom: 4rem;
	line-height: 1.2;
}

h2 {
	font-size: 6rem;
	font-weight: 600;
	margin-bottom: 4rem;
	line-height: 1.2;
}

@media screen and (max-width: 768px) {
	h2 {
		font-size: 3rem;
		font-weight: 500;
	}
}

/* Container */
.container {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

/* Header */
header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	background-color: #fff;
	transition: all 0.3s ease;
}

.admin-bar header {
	top: 32px;
}

header .header-container {
	width: 100%;
	max-width: 160rem;
	margin: 0 auto;
	height: 15rem;
	display: flex;
	padding: 0 2rem;
	justify-content: space-between;
	align-items: center;
	transition: all 0.3s ease;
}

@media screen and (max-width: 768px) {
	header .header-container {
		height: 10rem;
	}
}

.slide-size-full header.on-top {
	background-color: transparent;
}

.slide-size-full.slide-text-dark header.on-top .social-icons svg path {
	fill: #666;
}

.slide-size-full.slide-text-light header.on-top .menu-item a {
	color: #fff;
}

.slide-size-full.slide-text-light header.on-top .site-logo img {
	filter: brightness(0) invert(1);
}
.slide-size-full.slide-text-light header.on-top .hamburger-line {
	background-color: #fff;
}

header.not-on-top .header-container {
	height: 8rem;
}

header.not-on-top .site-logo img {
	max-height: 4.5rem;
}

/* Content */
main {
	margin-bottom: 2rem;
}

main.main-content {
	margin-top: 15rem;
	flex: 1;
	display: flex;
	flex-direction: column;
	min-height: calc(100vh - 15rem);
}

.admin-bar main.main-content {
	margin-top: calc(15rem + 32px);
	min-height: calc(100vh - 15rem - 32px);
}

article {
	margin-bottom: 2rem;
}

.entry-title {
	font-size: 1.5rem;
	font-weight: 400;
	margin-bottom: 0.5rem;
}

.entry-title a {
	color: #333;
	text-decoration: none;
}

.entry-title a:hover {
	color: #666;
}

.entry-meta {
	color: #666;
	font-size: 0.8rem;
	margin-bottom: 1rem;
}

.entry-content {
	margin-bottom: 1rem;
}

.entry-content p {
	margin-bottom: 1rem;
}

/* Navigation */
.pagination {
	text-align: center;
	margin: 2rem 0;
}

.pagination a {
	color: #666;
	text-decoration: none;
	padding: 0.5rem 1rem;
	margin: 0 0.25rem;
}

.pagination a:hover {
	background: #f5f5f5;
}

/* Footer */
footer {
	padding-top: 1rem;
	border-top: 1px solid #eee;
	text-align: center;
	color: #666;
	font-size: 0.8rem;
}

/* Logo Styles */
.site-logo {
	margin: 1rem 0;
}

.site-logo img {
	max-width: 30rem;
	height: auto;
	display: block;
	max-height: 80px;
	transition: all 0.3s ease;
}

@media screen and (max-width: 768px) {
	.site-logo img {
		max-width: 20rem;
		max-height: 6rem;
	}
}

/* Main Navigation */
.main-navigation {
	margin: 1rem 0;
}

.main-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.main-navigation li {
	margin: 0;
	position: relative;
}

.main-navigation a {
	text-decoration: none;
	color: #000;
	padding: 2rem;
	display: block;
	font-size: 1.6rem;
	position: relative;
}

.main-navigation .current_page_item > a::after,
.main-navigation .current-menu-item > a::after {
	content: '';
	position: absolute;
	bottom: 1rem;
	left: 2rem;
	right: 2rem;
	border-bottom: 1px solid var(--color-primary);
}

.main-navigation a:hover {
	color: #007cba;
}

/* Desktop Submenu Styles */
.main-navigation ul ul,
.main-navigation .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	display: none;
	flex-direction: column;
	background-color: #fff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	min-width: 20rem;
	gap: 0;
	z-index: 1000;
}

.main-navigation li:hover > ul,
.main-navigation li:hover > .sub-menu {
	display: flex;
}

.main-navigation ul ul li,
.main-navigation .sub-menu li {
	width: 100%;
}

.main-navigation ul ul a,
.main-navigation .sub-menu a {
	padding: 1.5rem 2rem;
	font-size: 1.4rem;
	border-bottom: 1px solid #f0f0f0;
}

.main-navigation ul ul li:last-child a,
.main-navigation .sub-menu li:last-child a {
	border-bottom: none;
}

.main-navigation ul ul a:hover,
.main-navigation .sub-menu a:hover {
	background-color: #f9f9f9;
}

.main-navigation ul ul .current_page_item > a::after,
.main-navigation ul ul .current-menu-item > a::after,
.main-navigation .sub-menu .current_page_item > a::after,
.main-navigation .sub-menu .current-menu-item > a::after {
	display: none;
}

/* Social Icons */
.social-icons {
	margin: 1rem 0;
	display: flex;
	gap: 1rem;
	align-items: center;
}

.social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	transition: all 0.3s ease;
}

.social-icon svg {
	width: 1.9rem;
	height: 1.9rem;
	fill: currentColor;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

main.main-content p {
	margin-bottom: 2rem;
	line-height: 1.35em;
}

main.main-content ul {
	margin-bottom: 2rem;
	padding-left: 1rem;
}

main.main-content ul li {
	margin-bottom: 1rem;
	padding-left: 2rem;
}

main.main-content ul li::marker {
	content: '•';
}

footer {
	background-color: var(--color-secondary);
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.5em;
	text-align: left;
	margin-top: auto;
	margin-top: 8rem;
}

@media screen and (max-width: 768px) {
	footer {
		margin-top: 4rem;
	}
}

footer a {
	color: #fff;
}

footer .footer-wrapper {
	width: 100%;
	max-width: 160rem;
	margin: 0 auto;
	padding: 11rem 2rem 2rem;
}

footer .site-logo img {
	filter: brightness(0) invert(1);
}

footer .row {
	display: flex;
	margin-bottom: 3.5rem;
}

footer .row .col-1 {
	flex: 0 0 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

footer .row .newsletter-signup {
	justify-content: flex-start;
}

footer .row .col-2 {
	flex: 0 0 25%;
}
footer .row .col-3 {
	flex: 0 0 25%;
}

footer .footer-col-header h3 {
	font-size: 4rem;
	margin-bottom: 3rem;
	font-weight: 400;
}

footer .footer-col-content li {
	list-style: none;
}

footer .footer-col-content li a {
	text-decoration: none;
}

/* Newsletter Signup Form */
footer .newsletter-signup .footer-col-header h3 {
	margin-bottom: 2rem;
}

.newsletter-signup .email-input-wrapper {
	position: relative;
	margin-bottom: 1.5rem;
}

.newsletter-signup .email-input-wrapper input[type='email'] {
	width: 80%;
	padding: 1.2rem 5rem 1.2rem 0rem;
	border: 0px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 0;
	background: transparent;
	color: #fff;
	font-size: 1.6rem;
	font-family: inherit;
}

.newsletter-signup .email-input-wrapper input[type='email']::placeholder {
	color: rgba(255, 255, 255, 0.7);
}

.newsletter-signup .email-input-wrapper input[type='email']:focus {
	outline: none;
	border-color: rgba(255, 255, 255, 0.5);
}

.newsletter-signup .submit-arrow {
	position: absolute;
	right: 1.5rem;
	right: 20%;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	color: #fff;
	cursor: pointer;
	padding: 0;
	width: 1.6rem;
	height: 1.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.newsletter-signup .submit-arrow:hover {
	opacity: 0.8;
}

.newsletter-signup .privacy-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

.newsletter-signup .privacy-checkbox label {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	cursor: pointer;
	font-size: 1.4rem;
	line-height: 1.4;
}

.newsletter-signup .privacy-checkbox input[type='checkbox'] {
	appearance: none;
	width: 1.6rem;
	height: 1.6rem;
	border: 1px solid rgba(255, 255, 255, 0.3);
	background: transparent;
	cursor: pointer;
	position: relative;
	flex-shrink: 0;
	margin-top: 0.2rem;
}

.newsletter-signup .privacy-checkbox input[type='checkbox']:checked {
	background: #fff;
	border-color: #fff;
}

.newsletter-signup .privacy-checkbox input[type='checkbox']:checked::after {
	content: '✓';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: var(--color-secondary);
	font-size: 1.2rem;
	font-weight: bold;
}

.newsletter-signup .privacy-checkbox .checkmark {
	display: none;
}

/* Newsletter Form Enhancements */
.newsletter-signup .email-input-wrapper input[type='email'].newsletter-input--valid {
	border-color: rgba(76, 175, 80, 0.8);
}

.newsletter-signup .email-input-wrapper input[type='email'].newsletter-input--invalid {
	border-color: rgba(244, 67, 54, 0.8);
}

.newsletter-spinner {
	position: absolute;
	right: 20%;
	top: 50%;
	transform: translateY(-50%);
	width: 1.6rem;
	height: 1.6rem;
	color: #fff;
}

.newsletter-message-container {
	margin-top: 1.5rem;
}

.newsletter-message {
	padding: 1rem;
	border-radius: 4px;
	font-size: 1.4rem;
	line-height: 1.4;
}

.newsletter-message--success {
	background-color: rgba(76, 175, 80, 0.1);
	border: 1px solid rgba(76, 175, 80, 0.3);
	color: #4caf50;
}

.newsletter-message--error {
	background-color: rgba(244, 67, 54, 0.1);
	border: 1px solid rgba(244, 67, 54, 0.3);
	color: #f44336;
}

/* Spinner animation */
.newsletter-spinner svg {
	animation: newsletter-spin 1s linear infinite;
}

@keyframes newsletter-spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

/* Form transitions */
.newsletter-signup .email-input-wrapper input[type='email'] {
	transition: border-color 0.3s ease;
}

.newsletter-signup .submit-arrow {
	transition: opacity 0.3s ease;
}

/* Focus states */
.newsletter-signup .email-input-wrapper input[type='email']:focus {
	border-color: rgba(255, 255, 255, 0.8);
}

.newsletter-signup .privacy-checkbox input[type='checkbox']:focus {
	outline: 2px solid rgba(255, 255, 255, 0.5);
	outline-offset: 2px;
}

main > main > h2,
main > main > h3,
main > main > h4,
main > main > ul,
main > main > p {
	width: 100%;
	max-width: 160rem;
	margin: 0 auto 2rem;
	padding: 0 2rem;
}

/* Ensure main content can expand to fill available space */
main.main-content > * {
	flex-shrink: 0;
}

main.main-content > *:last-child {
	margin-bottom: auto;
}

main > main > h2 {
	margin-top: 5rem;
}

main > main > h3 {
	margin-top: 3rem;
}

main > main > ul,
main > main > ol {
	padding-left: 3rem !important;
}

.breadcrumbs {
	width: 100%;
	max-width: 160rem;
	margin: 4rem auto 4rem;
	padding: 0 2rem;
}

@media (max-width: 1024px) {
	.breadcrumbs {
		margin: 4rem auto 4rem;
	}
}

.breadcrumbs a {
	color: #000;
	margin-right: 2rem;
	font-size: 1.4rem;
}

.breadcrumbs a.breadcrumbs-home {
	color: #c9c9c9;
}

/* Mobile Menu Styles */
.mobile-menu-toggle {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 1rem;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 0.4rem;
	z-index: 101;
}

.mobile-menu-toggle .hamburger-line {
	width: 2.5rem;
	height: 0.3rem;
	background-color: var(--color-secondary);
	transition: all 0.3s ease;
	transform-origin: center;
}

.mobile-menu-toggle.active .hamburger-line:nth-child(1) {
	transform: translateY(0.7rem) rotate(45deg);
}

.mobile-menu-toggle.active .hamburger-line:nth-child(2) {
	opacity: 0;
}

.mobile-menu-toggle.active .hamburger-line:nth-child(3) {
	transform: translateY(-0.7rem) rotate(-45deg);
}

/* Mobile Menu Overlay */
.mobile-menu-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: #f1eee9;
	z-index: 1000;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
}

.mobile-menu-overlay.active {
	opacity: 1;
	visibility: visible;
}

.mobile-menu-content {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 2rem;
}

.mobile-menu-close {
	display: none;
}

.mobile-menu-close .close-line {
	position: absolute;
	width: 2.5rem;
	height: 0.3rem;
	background-color: #000;
}

.mobile-menu-close .close-line:nth-child(1) {
	transform: rotate(45deg);
}

.mobile-menu-close .close-line:nth-child(2) {
	transform: rotate(-45deg);
}

/* Mobile Navigation */
.mobile-navigation {
	margin-bottom: 4rem;
}

.mobile-navigation .mobile-menu {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.mobile-navigation .mobile-menu li {
	margin: 0;
}

.mobile-navigation .mobile-menu > li > a {
	color: #000;
	text-decoration: none;
	font-size: 3rem;
	font-weight: 400;
	padding: 1rem 2rem;
	display: block;
	transition: color 0.3s ease;
	position: relative;
}

.mobile-navigation .mobile-menu > li > a:hover {
	color: var(--color-primary);
}

/* Active menu item styling */
.mobile-navigation .mobile-menu .current_page_item > a,
.mobile-navigation .mobile-menu .current-menu-item > a {
	font-weight: 700;
	position: relative;
	padding-bottom: 1.4rem;
}

.mobile-navigation .mobile-menu .current_page_item > a::after,
.mobile-navigation .mobile-menu .current-menu-item > a::after {
	content: '';
	position: absolute;
	bottom: 1rem;
	left: 2rem;
	right: 2rem;
	height: 0.4rem;
	background-color: var(--color-primary);
}

/* Mobile Submenu Styles */
.mobile-navigation .mobile-menu ul,
.mobile-navigation .mobile-menu .sub-menu {
	list-style: none;
	padding: 0;
	margin: 1rem 0 0 0;
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
}

.mobile-navigation .mobile-menu ul li,
.mobile-navigation .mobile-menu .sub-menu li {
	margin: 0;
}

.mobile-navigation .mobile-menu ul a,
.mobile-navigation .mobile-menu .sub-menu a {
	color: #666;
	text-decoration: none;
	font-size: 2rem;
	font-weight: 400;
	padding: 0.8rem 2rem;
	display: block;
	transition: color 0.3s ease;
}

.mobile-navigation .mobile-menu ul a:hover,
.mobile-navigation .mobile-menu .sub-menu a:hover {
	color: #333;
}

.mobile-navigation .mobile-menu ul .current_page_item > a,
.mobile-navigation .mobile-menu ul .current-menu-item > a,
.mobile-navigation .mobile-menu .sub-menu .current_page_item > a,
.mobile-navigation .mobile-menu .sub-menu .current-menu-item > a {
	font-weight: 700;
	color: #333;
	position: relative;
	padding-bottom: 1.2rem;
}

.mobile-navigation .mobile-menu ul .current_page_item > a::after,
.mobile-navigation .mobile-menu ul .current-menu-item > a::after,
.mobile-navigation .mobile-menu .sub-menu .current_page_item > a::after,
.mobile-navigation .mobile-menu .sub-menu .current-menu-item > a::after {
	content: '';
	position: absolute;
	bottom: 0.8rem;
	left: 2rem;
	right: 2rem;
	height: 0.4rem;
	background-color: var(--color-primary);
}

/* Mobile Social Icons */
.mobile-social-icons {
	display: flex;
	justify-content: center;
	gap: 2rem;
}

.mobile-social-icons .social-icon svg {
	width: 3rem;
	height: 3rem;
	fill: #000;
	transition: fill 0.3s ease;
}

.mobile-social-icons .social-icon:hover svg {
	fill: var(--color-primary);
}

/* Responsive Design */
@media (max-width: 1024px) {
	/* Hide desktop navigation and social */
	.main-navigation,
	.header-social-desktop {
		display: none;
	}

	/* Show mobile menu toggle */
	.mobile-menu-toggle {
		display: flex;
	}

	/* Adjust header layout for mobile */
	header .header-container {
		justify-content: space-between;
		padding: 0 1rem;
		z-index: 1100;
		position: relative;
	}

	/* Prevent body scroll when mobile menu is open */
	body.mobile-menu-open {
		overflow: hidden;
	}
}

@media (min-width: 1025px) {
	/* Hide mobile menu elements on desktop */
	.mobile-menu-toggle,
	.mobile-menu-overlay {
		display: none !important;
	}
}

/* Footer Mobile Optimization */
@media (max-width: 1024px) {
	footer .footer-wrapper {
		padding: 6rem 2rem 2rem;
		text-align: center;
		display: flex;
		flex-direction: column;
	}

	/* Hide original rows and create new order */
	footer .row {
		display: contents; /* This makes the row invisible, children become direct children of footer-wrapper */
	}

	/* Reorder all individual elements */
	/* 1. Logo first */
	footer .row:first-child .col-1 {
		order: 1;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-bottom: 4rem;
	}

	/* 2. Newsletter second */
	footer .row:nth-child(2) .newsletter-signup {
		order: 2;
		text-align: center;
		justify-content: center;
		margin-bottom: 4rem;
	}

	/* 3. Information third */
	footer .row:first-child .col-2 {
		order: 3;
		margin-bottom: 3rem;
		text-align: center;
	}

	/* 4. Content menu fourth */
	footer .row:first-child .col-3 {
		order: 4;
		margin-bottom: 3rem;
		text-align: center;
	}

	/* 5. Media center fifth */
	footer .row:nth-child(2) .col-2 {
		order: 5;
		margin-bottom: 3rem;
		text-align: center;
	}

	/* 6. Legal sixth */
	footer .row:nth-child(2) .col-3 {
		order: 6;
		margin-bottom: 3rem;
		text-align: center;
	}

	/* 7. Copyright last */
	footer .row:last-child .col-2 {
		order: 7;
		margin-bottom: 0;
		text-align: center;
	}

	/* Hide empty copyright columns */
	footer .row:last-child .col-1,
	footer .row:last-child .col-3 {
		display: none;
	}

	footer .footer-col-header h3 {
		font-size: 2.8rem;
		margin-bottom: 2rem;
		text-align: center;
	}

	footer .footer-col-content {
		text-align: center;
	}

	footer .footer-col-content ul {
		list-style: none;
		padding: 0;
		text-align: center;
	}

	/* Newsletter form mobile optimization */
	.newsletter-signup .email-input-wrapper input[type='email'] {
		width: 100%;
		padding: 1.5rem 5rem 1.5rem 0;
		font-size: 1.8rem;
		text-align: center;
	}

	.newsletter-signup .submit-arrow {
		right: 0;
		width: 4rem;
		height: 4rem;
	}

	.newsletter-signup .privacy-checkbox {
		justify-content: center;
	}

	.newsletter-signup .privacy-checkbox label {
		font-size: 1.6rem;
		line-height: 1.4;
		text-align: center;
	}
}

@media (max-width: 768px) {
	footer .footer-wrapper {
		padding: 4rem 1.5rem 2rem;
		text-align: center;
	}

	footer .row .col-1,
	footer .row .col-2,
	footer .row .col-3 {
		margin-bottom: 2.5rem;
		text-align: center;
	}

	footer .footer-col-header h3 {
		font-size: 2.4rem;
		margin-bottom: 1.5rem;
		text-align: center;
	}

	footer .footer-col-content {
		font-size: 1.4rem;
		text-align: center;
	}

	/* Logo sizing for mobile */
	footer .site-logo img {
		max-width: 20rem;
		max-height: 6rem;
	}

	/* Newsletter form mobile adjustments */
	.newsletter-signup .email-input-wrapper {
		margin-bottom: 2rem;
	}

	.newsletter-signup .email-input-wrapper input[type='email'] {
		font-size: 1.6rem;
		padding: 1.2rem 4rem 1.2rem 0;
		text-align: center;
	}

	.newsletter-signup .submit-arrow {
		width: 3.5rem;
		height: 3.5rem;
	}

	.newsletter-signup .privacy-checkbox {
		justify-content: center;
	}

	.newsletter-signup .privacy-checkbox label {
		font-size: 1.4rem;
		text-align: center;
	}

	.newsletter-signup .privacy-checkbox input[type='checkbox'] {
		width: 1.8rem;
		height: 1.8rem;
	}
}

@media (max-width: 480px) {
	footer .footer-wrapper {
		padding: 3rem 1rem 1.5rem;
		text-align: center;
	}

	footer .row {
		margin-bottom: 1.5rem;
	}

	footer .row .col-1,
	footer .row .col-2,
	footer .row .col-3 {
		margin-bottom: 2rem;
		text-align: center;
	}

	footer .footer-col-header h3 {
		font-size: 2rem;
		margin-bottom: 1rem;
		text-align: center;
	}

	footer .footer-col-content {
		font-size: 1.3rem;
		line-height: 1.4;
		text-align: center;
	}

	/* Logo for very small screens */
	footer .site-logo img {
		max-width: 16rem;
		max-height: 5rem;
	}

	/* Newsletter form for small screens */
	.newsletter-signup .footer-col-header h3 {
		margin-bottom: 1.5rem;
		text-align: center;
	}

	.newsletter-signup .email-input-wrapper input[type='email'] {
		font-size: 1.5rem;
		padding: 1rem 3.5rem 1rem 0;
		text-align: center;
	}

	.newsletter-signup .submit-arrow {
		width: 3rem;
		height: 3rem;
	}

	.newsletter-signup .privacy-checkbox {
		justify-content: center;
	}

	.newsletter-signup .privacy-checkbox label {
		font-size: 1.3rem;
		gap: 0.8rem;
		text-align: center;
	}

	.newsletter-signup .privacy-checkbox input[type='checkbox'] {
		width: 1.6rem;
		height: 1.6rem;
		margin-top: 0.1rem;
	}
}
