/*
Updated: 2026-10-19 23:33 (Europe/Zurich)
Theme Name: Infinity News Child
Theme URI: https://www.culturaitalia.ch/
Description: Child theme of Infinity News for Associazione Cultura Italia, Ginevra. Holds the site customisations (footer, single post, post meta) so the parent theme stays pristine and updatable.
Author: DIGITALABS
Template: infinity-news
Version: 1.0.2
Requires at least: 5.3
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: infinity-news-child
*/

/* Custom CSS goes below. The parent stylesheet is enqueued from functions.php. */

/* Single post: remove the empty left meta column (author and date are hidden), content full width.
   Same rules the parent applies below 767px, now at every width. */
.single-post .article-details .twp-single-affix { display: none; }
.single-post .article-details .twp-post-content { width: 100%; }

/* ==========================================================================
   Brand palette (logo: Italian flag green, red, grey)
   Red is reserved for the "Diventa Membro" CTA (.menu-cta, styled in Additional CSS).
   ========================================================================== */
:root {
	--ci-green: #009246;
	--ci-green-dark: #007a3a;
	--ci-green-tint: #eaf6ef;
	--ci-grey: #808080;
	--ci-ink: #2b2b2b;
	--ci-line: #ececec;
}

/* ==========================================================================
   Primary menu, desktop (992px and up)
   ========================================================================== */
@media only screen and (min-width: 992px) {
	.main-navigation { border-bottom: 1px solid var(--ci-line); }

	.main-navigation div.menu > ul > li:not(.menu-cta) > a {
		color: var(--ci-ink);
		transition: color .2s;
	}
	.main-navigation div.menu > ul > li:not(.menu-cta):not(.brand-home) > a::after {
		content: "";
		position: absolute;
		left: 10px;
		right: 10px;
		bottom: 14px;
		height: 2px;
		background: var(--ci-green);
		transform: scaleX(0);
		transform-origin: left;
		transition: transform .25s ease;
	}
	.main-navigation div.menu > ul > li:not(.menu-cta) > a:hover,
	.main-navigation div.menu > ul > li:not(.menu-cta) > a:focus,
	.main-navigation div.menu > ul > li:not(.menu-cta):hover > a,
	.main-navigation div.menu > ul > li.current-menu-item:not(.menu-cta) > a,
	.main-navigation div.menu > ul > li.current-menu-ancestor:not(.menu-cta) > a,
	.main-navigation div.menu > ul > li.current-post-ancestor:not(.menu-cta) > a {
		color: var(--ci-green);
	}
	.main-navigation div.menu > ul > li:not(.menu-cta):not(.brand-home):hover > a::after,
	.main-navigation div.menu > ul > li:not(.menu-cta):not(.brand-home) > a:focus::after,
	.main-navigation div.menu > ul > li.current-menu-item:not(.menu-cta) > a::after,
	.main-navigation div.menu > ul > li.current-menu-ancestor:not(.menu-cta) > a::after,
	.main-navigation div.menu > ul > li.current-post-ancestor:not(.menu-cta) > a::after {
		transform: scaleX(1);
	}

	/* Home icon and dropdown arrow */
	.main-navigation .menu ul > li.brand-home > a { color: var(--ci-green); }
	.main-navigation .menu ul li i { color: var(--ci-grey); transition: color .2s, transform .2s; }
	.main-navigation .menu ul > li:hover > a i { color: var(--ci-green); transform: rotate(180deg); }

	/* Dropdown */
	.main-navigation .menu ul ul {
		border: 0;
		border-top: 3px solid var(--ci-green);
		border-radius: 0 0 6px 6px;
		box-shadow: 0 10px 28px rgba(0, 0, 0, .10);
		padding: 6px 0;
	}
	.main-navigation .menu > ul > li > ul::before,
	.main-navigation .menu > ul > li > ul::after { display: none; }
	.main-navigation .menu ul ul a {
		color: var(--ci-ink);
		font-size: 12px;
		letter-spacing: .5px;
		transition: background-color .2s, color .2s, padding-left .2s;
	}
	.main-navigation .menu ul ul a::before { color: var(--ci-green); }
	.main-navigation .menu ul ul a:hover,
	.main-navigation .menu ul ul a:focus,
	.main-navigation .menu ul ul li.current-menu-item > a {
		background-color: var(--ci-green-tint);
		color: var(--ci-green-dark);
		padding-left: 20px;
	}
}

/* ==========================================================================
   Breadcrumbs (desktop only, the parent hides them below 768px): no blue bar
   ========================================================================== */
.breadcrumbs { background: transparent; margin: 18px auto 6px; }
.breadcrumbs ul li { display: inline-flex; align-items: center; }
.breadcrumbs ul li + li::before {
	content: "\203A";
	color: var(--ci-grey);
	font-size: 16px;
	line-height: 1;
}
.breadcrumbs ul .trail-item span {
	color: var(--ci-grey);
	opacity: 1;
	height: auto;
	line-height: 1.6;
	padding: 0 8px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .5px;
}
.breadcrumbs ul li.trail-begin span { background: none; margin-right: 0; padding-left: 0; }
.breadcrumbs ul li.trail-begin span::after { display: none; }
.breadcrumbs ul .trail-item a:hover span,
.breadcrumbs ul .trail-item a:focus span { color: var(--ci-green); }
ul.trail-items li:last-child a span,
.breadcrumbs ul li.trail-end span { color: var(--ci-ink); }

/* ==========================================================================
   Mobile menu (below 992px)
   ========================================================================== */
@media only screen and (max-width: 991px) {
	/* Toggle: green outlined button with hamburger icon */
	.main-navigation .toggle-menu { margin: 12px auto; }
	.main-navigation .offcanvas-toggle {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		padding: 10px 20px;
		border: 1.5px solid var(--ci-green);
		border-radius: 6px;
		color: var(--ci-green);
		transition: background-color .2s, color .2s;
	}
	.main-navigation .offcanvas-toggle:hover,
	.main-navigation .offcanvas-toggle:focus { background: var(--ci-green); color: #fff; }
	.main-navigation .offcanvas-toggle .trigger-icon { display: inline-flex; align-items: center; gap: 10px; }
	.main-navigation .offcanvas-toggle .trigger-icon::before {
		content: "";
		width: 18px;
		height: 12px;
		background:
			linear-gradient(currentColor, currentColor) top / 100% 2px no-repeat,
			linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat,
			linear-gradient(currentColor, currentColor) bottom / 100% 2px no-repeat;
	}
	.toggle-menu .menu-label { font-size: 13px; letter-spacing: 1px; }
}

/* Off-canvas panel */
#offcanvas-menu { background-color: #fff; border-top: 4px solid var(--ci-green); }
#offcanvas-menu .close-offcanvas-menu .offcanvas-close { color: var(--ci-grey); font-size: 13px; letter-spacing: 1px; }
#offcanvas-menu .close-offcanvas-menu .offcanvas-close span::after { content: " \00D7"; font-size: 20px; vertical-align: -2px; }
#offcanvas-menu .close-offcanvas-menu .offcanvas-close:hover { color: var(--ci-green); }

#offcanvas-menu .search-form { display: flex; }
#offcanvas-menu .search-form label { flex: 1; }
#offcanvas-menu .search-field { border: 1px solid #ddd; border-right: 0; border-radius: 6px 0 0 6px; }
#offcanvas-menu .search-field:focus { border-color: var(--ci-green); outline: none; }
#offcanvas-menu .search-submit { background: var(--ci-green); border: 0; border-radius: 0 6px 6px 0; color: #fff; }
#offcanvas-menu .search-submit:hover { background: var(--ci-green-dark); }

.offcanvas-title {
	background: none;
	border-left: 3px solid var(--ci-green);
	padding: 2px 10px;
	color: var(--ci-grey);
	font-size: 12px;
	letter-spacing: 1px;
}

.offcanvas-navigation li { border-bottom-color: var(--ci-line); }
.offcanvas-navigation li.brand-home { display: none; }
.offcanvas-navigation li:not(.menu-cta) > a {
	color: var(--ci-ink);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .5px;
	padding: 14px 0;
}
.offcanvas-navigation li:not(.menu-cta) > a:hover,
.offcanvas-navigation li:not(.menu-cta) > a:focus,
.offcanvas-navigation li.current-menu-item:not(.menu-cta) > a,
.offcanvas-navigation li.current-menu-ancestor:not(.menu-cta) > a { color: var(--ci-green); }
.offcanvas-navigation li a i::before,
.offcanvas-navigation li a i::after { background-color: var(--ci-green); }

/* Sub-menu: indented, sentence case, light tint */
.offcanvas-navigation .sub-menu { background: var(--ci-green-tint); border-top: 0; border-radius: 6px; margin-bottom: 10px; }
.offcanvas-navigation .sub-menu li { border-bottom-color: rgba(0, 146, 70, .12); }
.offcanvas-navigation .sub-menu li > a {
	font-size: 14px;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	padding: 11px 16px;
}

/* CTA in the panel: full width, spacing (colours stay in Additional CSS) */
.offcanvas-navigation li.menu-cta { border-bottom: 0; padding-top: 16px; }
.offcanvas-navigation li.menu-cta > a { justify-content: center; width: 100%; height: 44px !important; margin-top: 0; font-size: 14px; }
