/* ilTALLA Galleria — skin ilTALLA.
 * Prima parte: CSS del tema Piwigo "iltalla" (foto.iltalla.it) — hero, card slider, bottoni, loader —
 * con le classi prefissate "iltg-" per non toccare il tema WordPress.
 * Seconda parte: raccordo con masonry/lightbox/toolbar del plugin.
 */
.iltg-hero {
	width:100vw;
	position:relative;
	left:50%;
	transform:translateX(-50%);
	min-height:auto!important;
	display:block!important;
	padding:200px 0 200px;
	margin-top:0;
	overflow:hidden;
	margin-bottom:60px;
	z-index:1;
}

.iltg-hero-sketch-canvas {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	pointer-events:none;
	z-index:1;
	opacity:.3;
}

.iltg-hero::before {
	content:'';
	position:absolute;
	inset:0;
	background-image:linear-gradient(to right,var(--text-muted) 1px,transparent 1px),linear-gradient(to bottom,var(--text-muted) 1px,transparent 1px);
	background-size:100px 100px;
	opacity:.08;
	mask-image:linear-gradient(to bottom,transparent 0%,black 10%,black 90%,transparent 100%);
	-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 10%,black 90%,transparent 100%);
	pointer-events:none;
	z-index:0;
	animation:iltg-heroGridMove 20s linear infinite;
}

@keyframes iltg-heroGridMove {
	0% {
		transform:translateY(0);
	}
	100% {
		transform:translateY(100px);
	}
}

.iltg-hero-inner {
	width:100%;
	max-width:1400px;
	margin:0 auto;
	padding:0 20px;
	position:relative;
	z-index:3;
}

.iltg-dm-hero-pill {
	display:inline-flex;
	align-items:center;
	padding:8px 20px;
	background:rgba(var(--bg-primary-rgb),.5);
	border:1px solid var(--notion-blue);
	border-radius:9999px;
	font-family:'Nunito Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
	font-size:12px;
	font-weight:700;
	letter-spacing:1.5px;
	color:var(--notion-blue);
	margin:0 0 28px 0;
	text-transform:uppercase;
}

.iltg-sa-hero-content {
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:80px;
}

.iltg-sa-hero-left {
	flex:0 0 auto;
}

.iltg-sa-hero-right {
	flex:1;
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	justify-content:flex-end;
	gap:30px;
	padding-bottom:8px;
}

.iltg-dm-main-title {
	font-family:'Nunito Sans','Helvetica Neue',Helvetica,Arial,sans-serif!important;
	font-size:80px!important;
	font-weight:900!important;
	line-height:0.95!important;
	color:var(--text-primary)!important;
	margin:0!important;
	text-transform:uppercase;
	letter-spacing:-2px;
}

.iltg-gd-hero-swatches {
	display:flex;
	flex-direction:row;
	gap:10px;
	margin:24px 0 0;
	pointer-events:none;
}

.iltg-gd-swatch {
	width:36px;
	height:36px;
	border-radius:10px;
	background:var(--swatch-color);
	box-shadow:0 4px 20px rgb(0 0 0 / .15);
	transform:scale(0);
	opacity:0;
}

.iltg-dm-hero-desc {
	font-size:22px;
	line-height:1.6;
	color:var(--text-primary);
	text-align:right;
	margin:0;
}

.iltg-dm-hero-cta {
	display:flex;
	gap:14px;
	align-items:center;
	flex-wrap:wrap;
	justify-content:flex-end;
}

.iltg-cta-outline,.iltg-cta-primary {
	text-transform:uppercase;
}

.iltg-cta-outline {
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:16px 32px;
	border:2px solid var(--notion-blue);
	border-radius:35px;
	background:#fff0;
	color:var(--text-primary)!important;
	text-decoration:none!important;
	font-size:14px;
	font-weight:600;
	letter-spacing:.5px;
	transition:all 0.3s ease;
	white-space:nowrap;
}

.iltg-cta-outline:hover {
	background:var(--overlay-bg);
	color:var(--notion-blue)!important;
	transform:translateY(-2px);
}

.iltg-cta-primary {
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:16px 32px;
	background:#E67E22;
	color:#ffffff!important;
	text-decoration:none!important;
	font-size:14px;
	font-weight:600;
	letter-spacing:.5px;
	border-radius:35px;
	border:none;
	transition:all 0.3s ease;
	white-space:nowrap;
}

.iltg-cta-primary:hover {
	background:#cf6d17;
	color:#ffffff!important;
	transform:translateY(-2px);
	box-shadow:0 5px 20px rgb(230 126 34 / .3);
}

.iltg-claim-icon {
	position:absolute;
	width:48px;
	height:48px;
	pointer-events:none;
	z-index:0;
}

.iltg-claim-icon svg {
	display:block;
	width:100%;
	height:100%;
}

.iltg-claim-icon-1,.iltg-claim-icon-3,.iltg-claim-icon-5 {
	color:#EB5757;
	opacity:.25;
}

.iltg-claim-icon-2,.iltg-claim-icon-4,.iltg-claim-icon-6 {
	color:var(--notion-blue);
	opacity:.18;
}

.iltg-claim-icon-1 {
	top:12%;
	left:5%;
	animation:iltg-bounce1 6.0s ease-in-out infinite;
}

.iltg-claim-icon-2 {
	top:18%;
	right:8%;
	animation:iltg-bounce2 7.0s ease-in-out infinite;
}

.iltg-claim-icon-3 {
	bottom:25%;
	left:8%;
	animation:iltg-bounce3 8.0s ease-in-out infinite;
}

.iltg-claim-icon-4 {
	top:55%;
	right:15%;
	animation:iltg-bounce4 5.5s ease-in-out infinite;
}

.iltg-claim-icon-5 {
	bottom:12%;
	right:6%;
	animation:iltg-bounce5 6.5s ease-in-out infinite;
}

.iltg-claim-icon-6 {
	top:38%;
	left:48%;
	animation:iltg-bounce6 7.5s ease-in-out infinite;
}

@keyframes iltg-bounce1 {
	0%,100% {
		transform:translateY(0) rotate(0deg);
	}
	50% {
		transform:translateY(-20px) rotate(5deg);
	}
}

@keyframes iltg-bounce2 {
	0%,100% {
		transform:translateY(0) rotate(0deg);
	}
	50% {
		transform:translateY(-25px) rotate(-7deg);
	}
}

@keyframes iltg-bounce3 {
	0%,100% {
		transform:translateY(0) rotate(0deg);
	}
	50% {
		transform:translateY(-15px) rotate(3deg);
	}
}

@keyframes iltg-bounce4 {
	0%,100% {
		transform:translateY(0) rotate(0deg);
	}
	50% {
		transform:translateY(-30px) rotate(-5deg);
	}
}

@keyframes iltg-bounce5 {
	0%,100% {
		transform:translateY(0) rotate(0deg);
	}
	50% {
		transform:translateY(-18px) rotate(8deg);
	}
}

@keyframes iltg-bounce6 {
	0%,100% {
		transform:translateY(0) rotate(0deg);
	}
	50% {
		transform:translateY(-22px) rotate(-4deg);
	}
}

[data-theme="light"],body.colorscheme-clear {
	--pag-accent:#E67E22;
	--pag-accent-hover:#cf6d17;
}

.iltg-pf-slider-wrap {
	width:100vw;
	position:relative;
	left:50%;
	transform:translateX(-50%);
	padding:0 20px 60px;
	box-sizing:border-box;
}

.iltg-pf-controls,.iltg-pf-slider {
	max-width:1400px;
	margin-left:auto;
	margin-right:auto;
}

.iltg-pf-controls {
	display:flex;
	justify-content:flex-end;
	gap:.5rem;
	padding:0 0 20px;
}

.iltg-pf-nav-btn {
	width:2.5rem;
	height:2.5rem;
	border:1.5px solid var(--border-color);
	border-radius:50%;
	background:#fff0;
	color:var(--text-primary);
	font-size:1.6rem;
	line-height:1;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	transition:background 0.3s,border-color 0.3s,color 0.3s;
}

.iltg-pf-nav-btn:hover {
	background:#EB5757;
	border-color:#EB5757;
	color:#fff;
}

.iltg-pf-nav-btn:disabled {
	opacity:.3;
	cursor:default;
}

.iltg-pf-slider {
	overflow:hidden;
}

.iltg-pf-track {
	display:flex;
	gap:12px;
	height:38rem;
}

.iltg-pf-card {
	position:relative;
	flex:1 1 0%;
	min-width:0;
	border-radius:20px;
	overflow:hidden;
	cursor:pointer;
	transition:flex-grow 0.55s cubic-bezier(.25,.46,.45,.94),box-shadow 0.55s ease;
}

.iltg-pf-card.active {
	flex-grow:6;
	box-shadow:0 20px 60px rgb(0 0 0 / .35);
}

.iltg-pf-card__bg {
	position:absolute;
	inset:0;
	background-size:cover;
	background-position:center;
	filter:brightness(.6) saturate(60%);
	transition:filter 0.4s,transform 0.55s cubic-bezier(.25,.46,.45,.94);
}

.iltg-pf-card.active .iltg-pf-card__bg {
	filter:brightness(.72) saturate(100%);
}

.iltg-pf-card:hover .iltg-pf-card__bg {
	transform:scale(1.04);
}

.iltg-pf-card__overlay {
	position:absolute;
	inset:0;
	background:linear-gradient(to right,rgb(0 0 0 / .78) 0%,rgb(0 0 0 / .1) 60%,transparent 100%);
	opacity:0;
	transition:opacity 0.4s;
	z-index:1;
}

.iltg-pf-card.active .iltg-pf-card__overlay {
	opacity:1;
}

.iltg-pf-card__closed-label {
	position:absolute;
	inset:0;
	z-index:2;
	display:flex;
	align-items:center;
	justify-content:center;
	transition:opacity 0.25s;
}

.iltg-pf-card.active .iltg-pf-card__closed-label {
	opacity:0;
	pointer-events:none;
}

.iltg-pf-card__closed-title {
	color:#fff;
	font-size:12px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:2px;
	writing-mode:vertical-rl;
	transform:rotate(180deg);
	white-space:nowrap;
	text-shadow:0 2px 8px rgb(0 0 0 / .7);
}

.iltg-pf-card__content {
	position:absolute;
	inset:0;
	z-index:3;
	display:flex;
	flex-direction:row;
	align-items:center;
	padding:2rem;
	gap:1.5rem;
	opacity:0;
	pointer-events:none;
	transition:opacity 0.2s 0s;
}

.iltg-pf-card.active .iltg-pf-card__content {
	opacity:1;
	pointer-events:auto;
	transition:opacity 0.25s 0.48s;
}

.iltg-pf-card__thumb-wrap {
	flex-shrink:0;
	width:130px;
	height:210px;
	border-radius:12px;
	overflow:hidden;
	box-shadow:0 8px 24px rgb(0 0 0 / .45);
}

.iltg-pf-card__thumb {
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.iltg-pf-card__info {
	display:flex;
	flex-direction:column;
	gap:.6rem;
	flex:1;
	min-width:0;
}

.iltg-pf-card__cats {
	display:flex;
	flex-wrap:wrap;
	gap:6px;
}

.iltg-pf-card__cat {
	font-size:11px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:1px;
	color:rgb(255 255 255 / .85);
	border:1px solid rgb(255 255 255 / .35);
	padding:4px 12px;
	border-radius:9999px;
	backdrop-filter:blur(8px);
}

.iltg-pf-card__title {
	font-size:1.9rem;
	font-weight:800;
	color:#fff;
	line-height:1.15;
	margin:0;
}

.iltg-pf-card__desc {
	font-size:.9rem;
	color:rgb(255 255 255 / .8);
	line-height:1.5;
	margin:0;
}

.iltg-pf-card__btn {
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:.5rem 1.2rem;
	border:none;
	border-radius:9999px;
	background:#EB5757;
	color:#fff;
	font-size:.85rem;
	font-weight:700;
	text-decoration:none;
	cursor:pointer;
	transition:background 0.3s,transform 0.2s;
	align-self:flex-start;
	margin-top:.2rem;
}

.iltg-pf-card__btn::after {
	content:'';
	width:20px;
	height:20px;
	flex-shrink:0;
	background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 50 Q30 48, 50 50 T90 50 M75 35 Q82 42, 88 50 Q82 58, 75 65' stroke='white' stroke-width='5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center;
	transition:transform 0.3s ease;
}

.iltg-pf-card__btn:hover {
	background:#ff6e6e;
	transform:translateY(-2px);
	color:#fff;
}

.iltg-pf-card__btn:hover::after {
	transform:translateX(3px);
}

@media (max-width:768px) {
	.iltg-pf-slider-wrap {
		padding:0 12px 40px;
	}
	.iltg-pf-track {
		height:auto;
		flex-direction:column;
		gap:8px;
	}
	.iltg-pf-card {
		height:90px;
		flex:none;
		border-radius:14px;
		transition:height 0.45s cubic-bezier(.25,.46,.45,.94),box-shadow 0.4s ease;
	}
	.iltg-pf-card.active {
		height:420px;
		flex:none;
		box-shadow:0 16px 48px rgb(0 0 0 / .35);
	}
	.iltg-pf-card__overlay {
		background:linear-gradient(to top,rgb(0 0 0 / .88) 0%,rgb(0 0 0 / .35) 50%,transparent 100%);
	}
	.iltg-pf-card__closed-label {
		justify-content:flex-start;
		align-items:center;
		padding:0 1.2rem;
	}
	.iltg-pf-card__closed-title {
		writing-mode:initial;
		transform:none;
		font-size:12px;
		letter-spacing:1.5px;
	}
	.iltg-pf-card__content {
		flex-direction:column;
		justify-content:space-between;
		align-items:stretch;
		padding:1.2rem;
		gap:0;
	}
	.iltg-pf-card__thumb-wrap {
		display:none;
	}
	.iltg-pf-card__info {
		display:flex;
		flex-direction:column;
		height:100%;
		gap:0;
	}
	.iltg-pf-card__cats {
		order:1;
		margin-bottom:0;
	}
	.iltg-pf-card__title {
		order:2;
		font-size:1.55rem;
		margin-top:auto;
		padding-top:.5rem;
	}
	.iltg-pf-card__desc {
		display:none;
	}
	.iltg-pf-card__btn {
		position:absolute;
		top:50%;
		left:50%;
		transform:translate(-50%,-50%);
		order:unset;
		align-self:unset;
		margin:0;
		white-space:nowrap;
	}
	.iltg-pf-card__btn:hover {
		transform:translate(-50%,-50%);
	}
}

.iltg-gallery-anchor {
	display:block;
	height:0;
	margin-top:-40px;
	padding-top:80px;
	visibility:hidden;
}

@media (max-width:1024px) {
	.iltg-dm-main-title {
		font-size:60px!important;
	}
	.iltg-sa-hero-content {
		gap:40px;
	}
	.iltg-dm-hero-desc {
		font-size:18px;
	}
}

@media (max-width:768px) {
	.iltg-hero {
		min-height:auto;
		padding:120px 0 80px;
		margin-bottom:40px;
	}
	.iltg-hero-inner {
		padding:0 20px;
	}
	.iltg-sa-hero-content {
		flex-direction:column;
		align-items:flex-start;
		gap:30px;
	}
	.iltg-sa-hero-right {
		align-items:flex-start;
	}
	.iltg-dm-hero-desc {
		text-align:left;
		font-size:17px;
	}
	.iltg-dm-main-title {
		font-size:44px!important;
		letter-spacing:-1px;
	}
	.iltg-dm-hero-cta {
		justify-content:flex-start;
	}
	.iltg-claim-icon {
		display:none;
	}
}

.iltg-album-page .iltg-sa-hero-right {
	justify-content:center;
}

.iltg-album-page .iltg-sa-hero-content {
	align-items:center;
}

@media (max-width:768px) {
	.iltg-album-page .iltg-sa-hero-content {
		align-items:flex-start;
	}
	.iltg-album-page .iltg-dm-main-title {
		text-align:left;
	}
}

.iltg-album-page .iltg-album-actions {
	padding:0;
}

.iltg-dl-album-btn {
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:10px 22px;
	border-radius:35px;
	background:#EB5757;
	color:#fff;
	font-size:.9rem;
	font-weight:600;
	border:none;
	cursor:pointer;
	transition:opacity 0.18s,transform 0.15s;
}

.iltg-dl-album-btn:hover:not(:disabled) {
	opacity:.85;
	transform:translateY(-1px);
}

.iltg-dl-album-btn:disabled {
	opacity:.65;
	cursor:default;
}

.iltg-dl-album-btn svg {
	width:16px;
	height:16px;
	flex-shrink:0;
}

.iltg-dl-spinner {
	display:none;
}

.iltg-dl-album-btn[data-state='building'] .iltg-dl-icon,.iltg-dl-album-btn[data-state='ready'] .iltg-dl-icon {
	display:none;
}

.iltg-dl-album-btn[data-state='building'] .iltg-dl-spinner,.iltg-dl-album-btn[data-state='ready'] .iltg-dl-spinner {
	display:block;
	animation:iltg-spin 0.8s linear infinite;
}

@keyframes iltg-spin {
	to {
		transform:rotate(360deg);
	}
}

.iltg-back-btn {
	display:block;
	align-items:center;
	gap:.4rem;
	font-size:.75rem;
	font-weight:600;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--text-secondary);
	text-decoration:none;
	margin-bottom:1rem;
	transition:color 0.2s ease;
}

.iltg-back-btn:hover {
	color:var(--text-primary);
	text-decoration:none;
}

.iltg-back-btn svg {
	flex-shrink:0;
	transition:transform 0.2s ease;
}

.iltg-back-btn:hover svg {
	transform:translateX(-3px);
}

.iltg-back-root {
	font-size:.68rem;
	opacity:.55;
	margin-top:-.6rem;
}

#iltg-loader {
	position:fixed;
	inset:0;
	z-index:99999;
	background:var(--bg-primary);
	display:flex;
	align-items:center;
	justify-content:center;
	transition:opacity 0.5s ease;
}

#iltg-loader.iltg-loader--done {
	opacity:0;
	pointer-events:none;
}

.iltg-loader-inner {
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:28px;
}

.iltg-loader-logo {
	font-family:'Barlow Condensed','Barlow',sans-serif;
	font-size:2.8rem;
	font-weight:700;
	letter-spacing:.04em;
	color:var(--text-primary);
	text-transform:uppercase;
}

.iltg-loader-logo .iltg-il {
	font-weight:300;
	opacity:.45;
}

.iltg-loader-logo-img {
	height:48px;
	width:auto;
	filter:var(--icon-filter);
	opacity:.9;
}

.iltg-loader-bar {
	width:160px;
	height:2px;
	background:var(--border-color);
	border-radius:9999px;
	overflow:hidden;
}

.iltg-loader-progress {
	height:100%;
	width:0%;
	background:var(--text-primary);
	border-radius:9999px;
	animation:iltg-loader-fill 3s cubic-bezier(.4,0,.2,1) forwards;
}

@keyframes iltg-loader-fill {
	0% {
		width:0%;
	}
	60% {
		width:85%;
	}
	90% {
		width:95%;
	}
	100% {
		width:100%;
	}
}

#iltg-back-top {
	position:fixed;
	bottom:32px;
	right:32px;
	width:44px;
	height:44px;
	border-radius:50%;
	background:#E67E22;
	color:#fff;
	border:none;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
	opacity:0;
	visibility:hidden;
	transform:translateY(12px);
	transition:opacity 0.3s,visibility 0.3s,transform 0.3s,background 0.2s;
	z-index:900;
	box-shadow:0 4px 16px rgb(230 126 34 / .35);
}

#iltg-back-top.visible {
	opacity:1;
	visibility:visible;
	transform:translateY(0);
}

#iltg-back-top:hover {
	background:#cf6d17;
}

@media (max-width:768px) {
	#iltg-back-top {
		bottom:20px;
		right:16px;
		width:40px;
		height:40px;
	}
}

/* ==========================================================================
   Raccordo con il plugin ilTALLA Galleria (masonry JS, lightbox, toolbar, gate)
   ========================================================================== */

/* Wrapper pagina: variabili del tema Piwigo (accent arancio) + offset header fisso */
.iltg{
	--notion-blue:#E67E22;
	--accent:#E67E22;
	--iltg-red:#EB5757;
	--text-color:var(--text-primary);
	position:relative;
	z-index:1;
	color:var(--text-primary);
	font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;
}
/* Header fisso 90px: l'hero parte a 116px come sul Piwigo */
.iltg-page{padding-top:116px}
body.admin-bar .iltg-page{padding-top:148px}
@media (max-width:782px){body.admin-bar .iltg-page{padding-top:162px}}
:where(.iltg) h1,
:where(.iltg) h2,
:where(.iltg) h3,
:where(.iltg) h4{
	font-family:'Nunito Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
	letter-spacing:.02em;
	line-height:1.2;
}
/* Il tema WP rende gli <a> flex: qui i link tornano inline salvo dove lo decide il componente */
.iltg a{text-decoration:none}

/* Hero e slider a tutta larghezza (nel tema WP non c'è un .container da bucare) */
.iltg .iltg-hero,
.iltg .iltg-pf-slider-wrap{
	width:100%;
	left:auto;
	transform:none;
}
.iltg .iltg-hero{margin-bottom:60px}
.iltg .iltg-back-btn{display:flex;width:max-content;max-width:100%}
.iltg .iltg-dm-hero-desc p{margin:0;color:inherit}
.iltg .iltg-album-desc{
	font-size:18px;
	line-height:1.6;
	color:var(--text-primary);
	text-align:right;
	max-width:520px;
}
.iltg .iltg-album-desc p{margin:0 0 .6em}
.iltg .iltg-album-desc p:last-child{margin:0}
@media (max-width:768px){
	.iltg-page{padding-top:90px}
	.iltg .iltg-album-desc{text-align:left}
}

/* Corpo pagina */
.itlg-album-body,
.itlg-archive-body{
	width:100%;
	max-width:1400px;
	margin:0 auto;
	padding:0 20px;
	box-sizing:border-box;
}
.itlg-album-body > .itlg{max-width:none}
.itlg-album-body{padding-bottom:80px}

/* Sotto-album: stesso slider delle gallerie */
.itlg-subalbums-wrap{margin:0 0 40px}
.iltg .itlg-subalbums-wrap .iltg-pf-slider-wrap{padding:0 0 20px}

/* Masonry: 4 / 3 / 2 colonne, gap 12 / 6, angoli 35px (come .ilt-masonry) */
.iltg .itlg-masonry{max-width:none}
.iltg .itlg-item,
.iltg .itlg-item-media,
.iltg .itlg-item img,
.iltg .itlg-item-overlay{border-radius:35px}
.iltg .itlg-item{background:var(--bg-secondary,#242424)}
.iltg .itlg-masonry:not(.is-laid-out) .itlg-item{margin:0 0 12px}
.iltg .itlg-item::after{display:none}
@media (hover:hover) and (pointer:fine){
	.iltg .itlg-item:hover img{transform:scale(1.02)}
	.iltg .itlg-item:hover{box-shadow:0 8px 30px rgb(0 0 0 / .2)}
	.iltg .itlg-item:hover .itlg-item-zoom{background:var(--iltg-red)}
}
.iltg .itlg-item-overlay{padding:18px 20px}
.iltg .itlg-item-zoom,
.iltg .itlg-pick-btn{border-radius:50%;width:36px;height:36px}

/* Toolbar (conteggio, ordinamento, selezione) */
.iltg .itlg-album-toolbar{margin:0 0 24px}
.iltg .itlg-album-count{
	font-size:11px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:1.5px;
	color:var(--text-muted);
}
.iltg .itlg-sort-btn{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-family:'Nunito Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
	font-size:12px;
	font-weight:700;
	letter-spacing:1px;
	padding:9px 18px;
	border-radius:35px;
	border:1.5px solid var(--border-color);
	background:transparent;
	color:var(--text-primary);
}
.iltg .itlg-sort-btn:hover:not(:disabled){border-color:var(--iltg-red);color:var(--iltg-red)}
.iltg .itlg-sort-btn.is-active,
.iltg .itlg-sort-btn.itlg-fav-badge.is-active{background:var(--iltg-red);border-color:var(--iltg-red);color:#fff}
.iltg .itlg-fav-panel{border-radius:20px}
.iltg .itlg-fav-thumb,
.iltg .itlg-fav-thumb-open{border-radius:12px}
.iltg .itlg-load-more{
	font-family:'Nunito Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
	font-size:14px;
	font-weight:600;
	letter-spacing:.5px;
	text-transform:uppercase;
	padding:14px 32px;
	border:2px solid var(--iltg-red);
	border-radius:35px;
	background:var(--iltg-red);
	color:#fff;
}
.iltg .itlg-load-more:hover{background:transparent;color:var(--iltg-red)}
.iltg .itlg-page-btn{border-radius:35px;border-width:1.5px}
.iltg .itlg-page-btn:hover:not(:disabled){border-color:#E67E22;color:#E67E22}
.iltg .itlg-page-btn.is-active{background:#E67E22;border-color:#E67E22;color:#fff}

/* Download album (hero) — look di .ilt-dl-album-btn, stati del plugin */
.iltg .itlg-album-dl{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:10px 22px;
	border-radius:35px;
	background:var(--iltg-red);
	color:#fff;
	font-size:.9rem;
	font-weight:600;
	border:none;
	cursor:pointer;
	position:relative;
	overflow:hidden;
	transition:opacity .18s,transform .15s;
}
.iltg .itlg-album-dl:hover{color:#fff;opacity:.85;transform:translateY(-1px)}
.iltg .itlg-album-dl svg{width:16px;height:16px;flex-shrink:0}
.iltg .itlg-album-dl.is-busy{opacity:.65;pointer-events:none}
.iltg .itlg-album-dl.is-busy svg{animation:iltg-spin .8s linear infinite}
.iltg .itl-dl-album-btn{border-radius:35px;background:var(--iltg-red);font-family:inherit}

/* Gate password / privato */
.iltg .itlg-gate{
	border-radius:35px;
	background:var(--glass-bg);
	border:1px solid var(--glass-border);
	font-family:inherit;
	margin:20px auto 80px;
}
.iltg .itlg-gate p{color:var(--text-primary)}
.iltg .itlg-gate a{color:#E67E22}
.iltg .itlg-gate a:hover{color:var(--iltg-red)}
.iltg .itlg-pw-form input{
	border-radius:35px;
	background:transparent;
	color:var(--text-primary);
	border:1.5px solid var(--border-color);
	font-family:inherit;
	padding:13px 20px;
}
.iltg .itlg-pw-form button{
	border-radius:35px;
	background:var(--iltg-red);
	font-family:inherit;
	text-transform:uppercase;
	letter-spacing:.5px;
	padding:13px 28px;
}
.iltg .itlg-empty{color:var(--text-muted)}

/* Mappa */
.iltg .itlg-map{border-radius:35px}
.iltg .itlg-map-title{
	font-family:'Nunito Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
	font-weight:800;
	letter-spacing:.02em;
	text-align:left;
}

/* Lightbox: look GLightbox del Piwigo (overlay .92, pulsanti tondi 44px, foto con raggio 16px) */
.itlg-lb{background:rgba(0,0,0,.92)}
.itlg-lb-slide,
.itlg-lb-video{border-radius:16px;max-height:90vh}
.itlg-lb-close,
.itlg-lb-prev,
.itlg-lb-next,
.itlg-lb-fs,
.itlg-lb-dl,
.itlg-lb-pick{
	width:44px;
	height:44px;
	border-radius:50%;
	background:rgb(0 0 0 / .6);
	opacity:1;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	transition:background-color .18s;
}
.itlg-lb.is-open .itlg-lb-topbar,
.itlg-lb.is-open .itlg-lb-prev,
.itlg-lb.is-open .itlg-lb-next{opacity:1}
.itlg-lb-close{font-size:1.9rem;padding:0 0 3px}
.itlg-lb-prev,
.itlg-lb-next{font-size:2rem;padding:0 0 4px;border:0}
.itlg-lb-prev{left:20px}
.itlg-lb-next{right:20px}
.itlg-lb-close:hover,
.itlg-lb-prev:hover,
.itlg-lb-next:hover,
.itlg-lb-fs:hover,
.itlg-lb-dl:hover{background:rgb(0 0 0 / .9)}
.itlg-lb-pick.is-picked{background:var(--iltg-red,#EB5757)}
@media (max-width:600px){
	.itlg-lb-prev,.itlg-lb-next{width:40px;height:40px;font-size:1.7rem}
	.itlg-lb-prev{left:8px}.itlg-lb-next{right:8px}
}

/* Rete di sicurezza: se il JS non parte il loader si toglie da solo */
#iltg-loader{animation:iltg-loader-auto .4s ease 13s forwards}
@keyframes iltg-loader-auto{to{opacity:0;visibility:hidden;pointer-events:none}}
