/*
 Theme Name:   KDLN Child
 Theme URI:    https://kdln.it
 Description:  Child theme di Hello Elementor per il sito KDLN
 Author:       KDLN
 Template:     hello-elementor
 Version:      1.0.0
*/

	html, body {
		overflow-x: hidden;
		max-width: 100%;
	}

	.elementor-widget-text-editor a{
		color: #000;
		text-decoration: none !important;
	}

	.elementor-widget-text-editor a:hover{
		color: rgba(0, 0, 0, 0.7);
		text-decoration: none !important;
	}

/* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
	Download page 
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */


/* - - Wrapper = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */

	.kdln-download-wrap {
		width: 100%;
	}

/* - - Grid layout = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */

	.kdln-dl-grid {
		width: 100%;
	}

/* Desktop: proporzioni coerenti con il CSS tabella precedente
   nome=largo | datasheet | assembly(largo) | bim | 2d | 3d | drilling(largo) | photometric(largo) | scarica tutto */

	.kdln-dt-desktop .kdln-dl-row {
		display: grid;
		grid-template-columns:
			2fr        /* nome */
			0.9fr      /* datasheet */
			1.6fr      /* assembly instructions */
			0.7fr      /* bim */
			0.5fr      /* 2d */
			0.5fr      /* 3d */
			1.4fr      /* drilling template */
			1.4fr      /* photometric curves */
			1.1fr;     /* scarica tutto */
		align-items: stretch;
		border-bottom: 2px solid #000;
	}

/* - - Intestazione = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */

	.kdln-dl-row-head {
		border-bottom: 2px solid #000 !important;
	}
	.kdln-dl-row-head .kdln-dl-cell {
		padding: 12px 5px;
		font-family: "Neue Haas Unica W1G Medium", sans-serif;
		font-size: 20px;
		line-height: 28px;
		font-weight: bold;
		word-break: break-word;
		white-space: normal;
		vertical-align: top;
		align-self: start;   /* allineamento verticale top per grid */
		background: #fff;
	}

/* - - Celle corpo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */

	.kdln-dl-cell {
		padding: 10px 8px;
		font-family: "Neue Haas Unica W1G Medium", sans-serif;
		font-size: 20px;
		line-height: 36px;
		color: #000;
		background: #fff;
		display: flex;
		align-items: center;
	}

	.kdln-dl-col-name {
		justify-content: flex-start;
	}

	.kdln-dl-col-cat,
	.kdln-dl-col-all,
	.kdln-dl-col-mobile-cat {
		justify-content: center;
	}

/* Intestazione: celle categoria centrate orizzontalmente, top verticale */

	.kdln-dl-row-head .kdln-dl-col-cat,
	.kdln-dl-row-head .kdln-dl-col-all {
		justify-content: center;
		align-self: start;
		display: flex;
		align-items: flex-start;
		text-align: center;
	}

/* - - Hover riga = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */

	.kdln-dl-row:not(.kdln-dl-row-head):hover > .kdln-dl-cell {
		background: hsla(0, 0%, 50%, .071) !important;
	}

/* Reset striping da reset.css o WooCommerce */

	.kdln-dl-row:nth-child(even) .kdln-dl-cell,
	.kdln-dl-row:nth-child(odd) .kdln-dl-cell {
		background: #fff;
	}

/* Riga "Tutte le lampade" */

	.kdln-dl-row-all .kdln-dl-cell {
		font-weight: 500;
	}

/* - - Icona download — pallino nero  = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */

	.kdln-dl-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		text-decoration: none;
		transition: color 0.2s ease;
		color: #000;
		line-height: 1;
	}
	.kdln-dl-icon:hover {
		color: rgba(0, 0, 0, 0.7);
	}
	.kdln-dl-icon svg {
		display: block;
		width: 20px;
		height: 20px;
	}

/* - - Desktop/Mobile switch = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */

	.kdln-dt-mobile { display: none; }
	.kdln-dt-desktop { display: block; }

/* - - Tablet/Laptop  = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */

	@media (max-width: 1260px) {
		.kdln-dl-cell {
			font-size: 17px;
			line-height: 24px;
		}
		.kdln-dl-row-head .kdln-dl-cell {
			font-size: 17px;
			line-height: 22px;
		}
		.kdln-dl-icon svg {
			width: 20px;
			height: 20px;
		}
	}

/* - - Mobile/Tablet: 2 colonne con select = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */

	@media (max-width: 1024px) {
		.kdln-dt-desktop { display: none; }
		.kdln-dt-mobile  { display: block; }

		.kdln-dt-mobile .kdln-dl-row {
			display: grid;
			grid-template-columns: 1fr 140px;
			align-items: center;
			border-bottom: 2px solid #000;
		}

		.kdln-dl-cell {
			font-size: 18px;
			line-height: 28px;
		}

		.kdln-dt-mobile .kdln-dl-col-name,
		.kdln-dt-mobile .kdln-dl-col-mobile-cat {
			display: flex;
			align-items: center;
		}

		.kdln-dt-mobile .kdln-dl-col-mobile-cat {
			justify-content: center;
		}
		
		.head-mobile-row{
			position: fixed;
			right: 16px;
			top: 146px;
			padding-bottom: 0 !important;
		}
	}

/* - - Select mobile  = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */

	.kdln-dl-select {
		font-family: "Neue Haas Unica W1G Medium", sans-serif;
		font-size: 17px;
		font-weight: bold;
		color: #000;
		background: transparent;
		border: none;
		padding: 4px 0;
		cursor: pointer;
		appearance: auto;
		width: 100%;
		text-align: right;
    	padding-right: 10px;
	}
	.kdln-dl-select:focus {
		outline: none;
	}

/* Reset bordo superiore Elementor  = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */

	.kdln-dl-row-head .kdln-dl-cell:first-child,
	.kdln-dl-row-head .kdln-dl-cell {
		border-block-start: none !important;
		border-top: none !important;
	}


/* ============================================================
   KDLN — Press Kit Archive v3
   Preview overlay: fixed, 465x465px,
   posizionata a ~200px dal bordo destro del contenitore 1920px
   ============================================================ */

	.kdln-pk-preview-overlay {
		position: fixed;
		width: 465px;
		height: 465px;
		pointer-events: none;
		opacity: 0;
		transition: opacity 0.25s ease;
		z-index: 9999;
	}

	.kdln-pk-preview-overlay.is-visible {
		opacity: 1;
	}

	.kdln-pk-preview-img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}

	/* Nascondi su tablet/mobile */
	@media ( max-width: 1024px ) {
		.kdln-pk-preview-overlay {
			display: none;
		}
	}


/* Overlay loader — copre la pagina durante il caricamento */
	#kdln-page-loader {
		position: fixed;
		inset: 0;
		background: #fff;
		z-index: 99999;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: opacity 0.4s ease;
	}

	#kdln-page-loader.kdln-loader-hide {
		opacity: 0;
		pointer-events: none;
	}

	/* Puntini — identici al loader dell'infinite scroll prodotti */
	.kdln-loader-dots {
		display: flex;
		align-items: center;
		gap: 8px;
	}

	.kdln-loader-dot {
		width: 8px;
		height: 8px;
		background: #000;
		border-radius: 50%;
		animation: kdln-dot-pulse 1.2s ease-in-out infinite;
	}

	.kdln-loader-dot:nth-child(2) { animation-delay: 0.2s; }
	.kdln-loader-dot:nth-child(3) { animation-delay: 0.4s; }

	@keyframes kdln-dot-pulse {
		0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; }
		40%            { transform: scale(1);   opacity: 1;   }
	}
 
/* Loader inline infinite scroll prodotti (già in products-archive.css,
   riportato qui per centralizzare — rimuovere da products-archive.css) */
	.kdln-products-loader {
		display: none;
		justify-content: center;
		align-items: center;
		gap: 8px;
		padding: 40px 0 60px;
	}

	.kdln-products-loader.is-visible {
		display: flex;
	}
 
/* -----------------------------------------------------------------------
   Loader archivi generici (news, suggestioni, progetti)
   ----------------------------------------------------------------------- */
	.kdln-archive-sentinel {
		width: 100%;
		height: 1px;
		margin-top: 60px;
		visibility: hidden;
	}

	.kdln-archive-loader {
		display: none;
		justify-content: center;
		align-items: center;
		gap: 8px;
		padding: 40px 0 60px;
	}

	.kdln-archive-loader.is-visible {
		display: flex;
	}

	.kdln-elementor-loader {
		display: none;
		justify-content: center;
		align-items: center;
		gap: 8px;
		padding: 40px 0 60px;
		width: 100%;
	}

	/* Nasconde sempre lo spinner nativo Elementor */
	.elementor-widget-posts .e-load-more-spinner {
		display: none !important;
	}