/*!
Theme Name: Efesto Tech
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: efesto-tech
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Efesto Tech is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

:root {
	--primary: #B93C35;
	--primary-dark: #9A312B;
	--primary-light: #D45F58;
	--dark: #212529;
	--light: #f8f9fa;
}

body, html {
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	overflow-x: hidden !important;
	max-width: 100%;
}

a {
	color: var(--primary);
	text-decoration: none;
	transition: color 0.3s ease;
}
a:hover {
	color: var(--primary-dark);
}

.bg-primary {
	background-color: var(--primary) !important;
}

.text-primary {
	color: var(--primary) !important;
}

.btn-primary {
	background-color: var(--primary);
	border-color: var(--primary);
}

.btn-primary:hover {
	background-color: var(--primary-dark);
	border-color: var(--primary-dark);
}

.btn-outline-primary {
	color: var(--primary);
	border-color: var(--primary);
}

.btn-outline-primary:hover {
	background-color: var(--primary);
	border-color: var(--primary);
	color: white;
}

.hero-section {
	background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
	position: relative;
	overflow: hidden;
}

.hero-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.15;
	z-index: 0;
}

.hero-content {
	position: relative;
	z-index: 1;
}

.nav-link {
	position: relative;
	color: var(--dark);
	font-weight: 500;
}

.nav-link:after {
	content: '';
	position: absolute;
	width: 0;
	height: 2px;
	bottom: 0;
	left: 0;
	background-color: var(--primary);
	transition: width 0.3s ease;
}

.nav-link:hover:after {
	width: 100%;
}

.nav-link:hover {
	color: var(--primary);
}

.card-hover {
	transition: all 0.3s ease;
}

.card-hover:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.service-icon {
	width: 70px;
	height: 70px;
	background-color: rgba(185, 60, 53, 0.1);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.5rem;
}

.testimonial-card {
	border-left: 3px solid var(--primary);
}

.forge-animation {
	position: relative;
	overflow: hidden;
}

.forge-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.05;
	z-index: 0;
}

.forge-content {
	position: relative;
	z-index: 1;
}

.floating {
	animation: floating 3s ease-in-out infinite;
}

@keyframes floating {
	0% { transform: translateY(0px); }
	50% { transform: translateY(-15px); }
	100% { transform: translateY(0px); }
}

.hammer-icon {
	color: var(--primary);
	font-size: 2rem;
	animation: hammering 2s ease-in-out infinite;
}

/* Article Styles */
.article-content {
	line-height: 1.8;
	color: var(--dark);
}

.article-content h2,
.article-content h3,
.article-content h4 {
	color: var(--primary);
	margin-top: 2.5rem;
}

.article-content img {
	max-width: 100%;
	height: auto;
	border-radius: 0.5rem;
	margin: 1.5rem 0;
}

.article-content blockquote {
	border-left: 4px solid var(--primary);
	padding-left: 1.5rem;
	margin: 1.5rem 0;
	font-style: italic;
	color: var(--dark);
}

.article-content a {
	color: var(--primary);
	text-decoration: none;
	transition: all 0.3s ease;
}

.article-content a:hover {
	color: var(--primary-dark);
	text-decoration: underline;
}

@keyframes hammering {
	0% { transform: rotate(0deg); }
	25% { transform: rotate(15deg); }
	50% { transform: rotate(-10deg); }
	75% { transform: rotate(5deg); }
	100% { transform: rotate(0deg); }
}

/* Sparkle Effect - Solo nel footer */
.footer-sparkle-container {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 1;
	overflow: hidden;
}

.footer-sparkle {
	position: absolute;
	bottom: 0;
	width: 3px;
	height: 3px;
	background-color: #FFD700;
	border-radius: 50%;
	box-shadow: 0 0 8px 3px rgba(255, 215, 0, 0.9);
	animation: sparkleRise linear forwards;
	opacity: 0;
}

@keyframes sparkleRise {
	0% {
		transform: translateY(0) translateX(0) scale(0.3);
		opacity: 0.5;
	}
	10% {
		opacity: 1;
	}
	50% {
		box-shadow: 0 0 12px 4px rgba(255, 215, 0, 0.9);
	}
	90% {
		opacity: 0.8;
	}
	100% {
		transform: translateY(-150px) translateX(calc(var(--random-x) * 50px)) scale(1.5);
		opacity: 0;
	}
}

/* Forge Fire Effect - Solo nel footer */
.footer-forge-fire {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100px;
	background: linear-gradient(to top, 
		rgba(255, 100, 0, 0.6) 0%, 
		rgba(255, 50, 0, 0.4) 30%, 
		rgba(255, 30, 0, 0.2) 60%, 
		transparent 100%);
	z-index: 0;
	pointer-events: none;
	opacity: 0.5;
	animation: forgeFlicker 1.5s ease-in-out infinite alternate;
	mix-blend-mode: screen;
}

@keyframes forgeFlicker {
	0% { 
		opacity: 0.4; 
		height: 80px;
		background-size: 100% 150%;
	}
	50% { 
		opacity: 0.7; 
		height: 100px;
		background-size: 100% 180%;
	}
	100% { 
		opacity: 0.5; 
		height: 90px;
		background-size: 100% 160%;
	}
}

/* Footer position relative per contenere gli effetti */
footer {
	position: relative;
	overflow: hidden;
}

div.reply.btn {
	background-color: var(--primary);
	color: white;
	border-radius: 0.25rem;
	margin: 0.5rem 1rem;
	text-decoration: none;
	transition: background-color 0.3s ease;
}

div.reply.btn:hover {
	background-color: var(--primary-dark);
}

div.reply.btn a {
	color: white;
	text-decoration: none;
}

.wp-block-group ul {
	list-style: none;
	padding-left: 0;
}

.comment img {
	margin-right: 1rem;
}

.depth-2, .depth-3, .depth-4, .depth-5 {
	padding-left: 1.5rem !important;
	margin-bottom: 1.5rem !important;
	border-width: 2px !important;
	--bs-border-opacity: 1;
	border-color: rgba(var(--bs-primary-rgb),var(--bs-border-opacity)) !important;
	border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
	display: flex !important;
}

#back-to-top {
	background-color: var(--primary);
	border-color: var(--primary);
}

footer .text-muted {
	color: var(--bs-primary-rgb) !important;
}

footer a {
	color: var(--primary) !important;
}

footer a:hover {
	color: var(--primary-light) !important;
}

#back-to-top {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

#back-to-top.show {
    display: none;
    opacity: 1;
}

menu-item-has-children a:hover {
	display: inherit !important;
}