/*
Theme Name: Tecnica Child Fresh
Description: A child theme of Astra Theme
Author: Your Name
Version: 1.0
Template: astra
*/

.woocommerce-breadcrumb {
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 60px;
}

.woocommerce .single-product-summary {
    float: right;
    width: 65%;
    padding: 0 0 0 210px;
}

.woocommerce div.product div.images img {

    display: block;
    width: 100%;
    height: auto;
    box-shadow: none;

}
.woocommerce img, .woocommerce-page img {
    max-width: 100%;

}
img {
    border: 0;
    outline: 1px solid transparent;   
    vertical-align: middle;

}

.loopProduct-image-wrap img {
    transition: .2s;
    margin: 0;
}
.loopProduct-image-wrap img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 1em;
    box-shadow: none;
}

ul.columns-3.products li {
    list-style: none outside;
    width: 28.75%;
    float: left;
    margin: 0 3.8% 2.992em 0;    
    padding: 0;
    position: relative;     
}
ul.columns-3.products li.first {

    clear: both;

}

a:hover div.loopProduct-image-wrap img {
    -webkit-transform: scale(1.02) rotate(1deg);
    transform: scale(1.02) rotate(1deg);
    opacity: .85;
}

.woocommerce-loop-product__title {
    margin-bottom: 10px;
    font-size: 16px;
}

.storie-title {
    font-size: 36px;
}

.storie-recenti {
    text-align: center;
    display:flex;
    /*vertical-align: middle;*/
}

.storie-recenti-title {
    /*padding-top: 1em;*/
    vertical-align: center;
}

@media (max-width: 1200px) {
    .storie-recenti-description {                    
        margin-bottom: 2em;
    }

    .immagini-recenti-description {                    
        margin-bottom: 2em;
    }
}

@media (min-width: 1200px) {
    .storie-recenti-description {    
        margin-top: 30%;
        margin-left: 3em;
    }

    .immagini-recenti-description {    
        margin-top: 20%;
        margin-left: 3em;
    }
}


.immagini-recenti {
    text-align: center;
    display:flex;
    /*vertical-align: middle;*/
}

.immagini-recenti-title {
    /*padding-top: 1em;*/
    vertical-align: center;
}

/* Custom Logo in Header */
.custom-logo-link {
	display: inline-block;
	line-height: 0;
}

.custom-logo {
	max-height: 60px;
	width: auto;
	height: auto;
}

/* Immagini Archive Layout */
.immagini-archive-wrapper {
	display: flex;
	gap: 40px;
	align-items: flex-start;
	max-width: 1400px;
	margin: 0 auto;
	padding: 40px 20px;
}

.immagini-grid-container {
	flex: 1;
	min-width: 0;
}

.immagini-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.immagini-grid-item {
	cursor: pointer;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.immagini-grid-item:hover {
	opacity: 0.9;
}

.immagini-grid-item.active {
	opacity: 1;
}

.immagini-grid-item.active {
	opacity: 1;
}

.immagini-thumbnail {
	width: 100%;
	overflow: hidden;
	margin-bottom: 15px;
}

.immagini-thumbnail img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.immagini-grid-item:hover .immagini-thumbnail img {
	transform: scale(1.05);
}

.immagini-grid-title {
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0;
	color: #333;
	line-height: 1.4;
}

.immagini-info-panel {
	position: sticky;
	top: 100px;
	width: 400px;
	flex-shrink: 0;
	background: #fff;
	padding: 40px;
	border-left: 1px solid #e0e0e0;
	min-height: 400px;
}

.immagini-info-content {
	display: none;
}

.immagini-info-content.active {
	display: block;
	animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.immagini-info-title {
	font-size: 28px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0 0 25px 0;
	color: #333;
	line-height: 1.3;
}

.immagini-info-excerpt {
	margin-bottom: 30px;
	color: #666;
	line-height: 1.7;
	font-size: 18px;
}

.immagini-info-excerpt p {
	margin: 0;
}

.immagini-info-link {
	display: inline-block;
	padding: 12px 30px;
	background-color: #0073aa;
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	font-size: 16px;
	border-radius: 4px;
	transition: all 0.3s ease;
	border: 2px solid #0073aa;
}

.immagini-info-link:hover {
	background-color: #005177;
	border-color: #005177;
	color: #fff;
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(0, 115, 170, 0.3);
}

/* Responsive Design */
@media (max-width: 1024px) {
	.immagini-archive-wrapper {
		flex-direction: column;
		gap: 30px;
	}
	
	.immagini-info-panel {
		position: relative;
		top: auto;
		width: 100%;
		border-left: none;
		border-top: 1px solid #e0e0e0;
		padding: 30px 20px;
	}
	
	.immagini-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
}

@media (max-width: 768px) {
	.immagini-archive-wrapper {
		padding: 20px 15px;
	}
	
	.immagini-grid {
		grid-template-columns: 1fr;
		gap: 25px;
	}
	
	.immagini-info-panel {
		display: none; /* Hide info panel on mobile */
	}
	
	.immagini-grid-title {
		font-size: 16px;
		margin-top: 10px;
	}
}

/* Single Immagini Post Styles */
.single-immagini-post {
	margin-bottom: 60px;
}

.immagini-featured-image {
	margin-bottom: 40px;
	width: 100%;
	overflow: hidden;
}

.immagini-full-image {
	width: 100%;
	height: auto;
	display: block;
	max-width: 100%;
	object-fit: contain;
}

.immagini-info-taxonomy {
	display: flex;
	margin-bottom: 1em;
}

.immagini-info-taxonomy-item {
	color: #0073aa;
	text-decoration: none;
	transition: color 0.3s ease;
}

.immagini-info-taxonomy-item:hover {
	color: #005177;
	text-decoration: underline;
}

/* Single Storie Post Layout */
.single-storie-post {
	margin-bottom: 60px;
}

.storie-breadcrumb {
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 40px;
}

.storie-breadcrumb a {
	color: #0073aa;
	text-decoration: none;
}

.storie-breadcrumb a:hover {
	text-decoration: underline;
}

.storie-breadcrumb-separator {
	margin: 0 0.35em;
}

.storie-breadcrumb-current {
	color: #333;
}

.storie-hero {
	display: flex;
	gap: 40px;
	align-items: flex-start;
	margin-bottom: 40px;
}

.storie-featured-image {
	flex: 0 0 320px;
	max-width: 320px;
}

.storie-cover-image {
	width: 100%;
	height: auto;
	display: block;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.storie-summary {
	flex: 1;
	min-width: 0;
}

.storie-taxonomy {
	margin-bottom: 1.5em;
}

.storie-intro {
	margin-top: 0;
}

.storie-info-panel {
	width: 100%;
	background: #fff;
	padding: 30px;
	border: 1px solid #e0e0e0;
	margin-bottom: 40px;
}

.storie-info-title {
	margin: 0 0 20px;
	font-size: 24px;
	font-weight: 700;
	color: #333;
}

.storie-info-table {
	width: 100%;
	max-width: 600px;
	border-collapse: collapse;
}

.storie-info-table th,
.storie-info-table td {
	padding: 12px 0;
	border-bottom: 1px solid #e0e0e0;
	text-align: left;
	vertical-align: top;
}

.storie-info-table th {
	width: 45%;
	font-weight: 600;
	color: #333;
}

.storie-info-table td {
	color: #666;
}

.storie-info-table a {
	color: #0073aa;
	text-decoration: none;
}

.storie-info-table a:hover {
	text-decoration: underline;
}

.storie-full-text {
	margin-bottom: 40px;
}

.storie-full-text-title {
	margin: 0 0 1.5em;
	font-size: 28px;
	font-weight: 700;
	color: #333;
}

.storie-comments {
	margin-top: 60px;
	padding-top: 40px;
	border-top: 1px solid #e0e0e0;
}

@media (max-width: 768px) {
	.storie-hero {
		flex-direction: column;
	}

	.storie-featured-image {
		flex: 0 0 auto;
		max-width: 100%;
	}
}

/* Post Content - Larger font size for all post types */
.single-post .entry-content,
.single-immagini-post .immagini-content,
.single-storie-post .entry-content,
.single-storie-post .storie-full-text,
.single .entry-content,
article .entry-content {
	font-size: 18px;
	line-height: 1.8;
}

.immagini-content {
	line-height: 1.8;
	color: #333;
	font-size: 18px;
}

.immagini-content p {
	margin-bottom: 1.5em;
}

.immagini-content h1,
.immagini-content h2,
.immagini-content h3,
.immagini-content h4,
.immagini-content h5,
.immagini-content h6 {
	margin-top: 2em;
	margin-bottom: 1em;
	font-weight: 600;
}

.immagini-content img {
	max-width: 100%;
	height: auto;
}

/* Front Page Hero Section - Parallax */
.front-page-hero {
    position: relative;
    width: 100vw;
    height: 400px;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    margin-bottom: 60px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    overflow: hidden;
    margin-top: -60px;
}

.hero-tagline-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.3);
}

.hero-tagline {
    color: #fff;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
    text-align: center;
    max-width: 1200px;
    padding: 0 40px;
}

/* Homepage Blog Posts Layout */
.posts-list {
    padding: 40px 20px;
}

/* Front Page - Two Column Layout (thumbnail left, content right) */
.front-page-hero ~ .site-main .posts-list {
    max-width: 1200px;
    margin: 0 auto;
}

.front-page-hero ~ .site-main .post-item-wrapper {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

.front-page-hero ~ .site-main .post-thumbnail {
    flex: 0 0 350px;
    max-width: 350px;
    margin-bottom: 0;
}

.front-page-hero ~ .site-main .post-content {
    flex: 1;
    min-width: 0;
}

/* Home Page - Single Column Layout (thumbnail above content) */
body.home .posts-list,
body.blog .posts-list {
    padding: 0;
}

body.home .post-item,
body.blog .post-item {
    background: #fff;
    padding: 40px;
    margin-bottom: 30px;
    border: 1px solid #e1e8ed;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

body.home .post-item:last-child,
body.blog .post-item:last-child {
    margin-bottom: 0;
}

body.home .post-thumbnail,
body.blog .post-thumbnail {
    width: 100%;
    margin-bottom: 25px;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}

body.home .post-thumbnail img,
body.blog .post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body.home .post-content,
body.blog .post-content {
    width: 100%;
}

/* Archive Title and Description */
.archive-title {
    max-width: 1200px;
    margin: 40px auto 20px;
    padding: 0 20px;
    font-size: 32px;
    font-weight: 700;
    color: #333;
}

.archive-description {
    max-width: 1200px;
    margin: 0 auto 40px;
    padding: 0 20px;
    color: #666;
    line-height: 1.6;
}

.post-item {
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid #e0e0e0;
}

.post-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.post-thumbnail {
    width: 100%;
    margin-bottom: 25px;
    overflow: hidden;
}

.post-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
    object-fit: cover;
}

.post-content {
    width: 100%;
}

.entry-header {
    margin-bottom: 15px;
}

.entry-title {
    margin: 0 0 15px 0;
    font-size: 24px;
    line-height: 1.3;
}

.entry-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s ease;
}

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

.entry-excerpt {
    margin-bottom: 15px;
    color: #666;
    line-height: 1.6;
}

.entry-meta {
    margin-top: 15px;
}

.read-more-link {
    display: inline-block;
    color: #0073aa;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.read-more-link:hover {
    color: #005177;
    text-decoration: underline;
}

.no-posts {
    text-align: center;
    padding: 60px 20px;
}

/* Pagination Styles */
.posts-pagination {
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid #e0e0e0;
    text-align: center;
}

.posts-pagination .page-numbers {
    display: inline-block;
    padding: 8px 12px;
    margin: 0 4px;
    text-decoration: none;
    color: #333;
    border: 1px solid #ddd;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.posts-pagination .page-numbers:hover,
.posts-pagination .page-numbers.current {
    background-color: #0073aa;
    color: #fff;
    border-color: #0073aa;
}

.posts-pagination .page-numbers.prev,
.posts-pagination .page-numbers.next {
    font-weight: 500;
}

/* Responsive Design */
@media (max-width: 768px) {
    
    .entry-title {
        font-size: 20px;
    }
    
    .posts-list {
        padding: 20px 15px;
    }
    
    .post-item {
        margin-bottom: 30px;
        padding-bottom: 30px;
    }
    
    .posts-pagination {
        margin-top: 30px;
        padding-top: 30px;
    }
    
    .posts-pagination .page-numbers {
        padding: 6px 10px;
        font-size: 14px;
    }
    
    /* Hero section responsive */
    .front-page-hero {
        background-attachment: scroll; /* Disable parallax on mobile for better performance */
    }
    
    .hero-tagline {
        font-size: 24px;
        padding: 0 20px;
    }
}

.wp-block-image {
    margin-bottom: 2em;
}


.ast-article-image-container--wide {
    margin-left: 0px !important;
    margin-right: 0px !important;
}

.storie-info-table td, .storie-info-table th {
    padding-left: 1em;
}