/*
 * eco-Shusala × Elementor
 * Stile delle classi eco-el-* usate nelle pagine importate.
 * Le modifiche fatte nel pannello di Elementor hanno priorità su queste regole.
 */

.elementor-page .eco-main { padding: 0; }
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,
.elementor-button { font-family: "Hanken Grotesk", system-ui, sans-serif; }

/* Layout: tutto a tutta larghezza con margine laterale 24px (come il prototipo).
   Le sezioni di testo limitano solo la riga di lettura, allineate a sinistra. */
.elementor-page .e-con.e-con-full { max-width: none; }
.e-con.eco-el-measure > .elementor-widget { max-width: 760px; width: 100%; }
.e-con.eco-el-measure--wide > .elementor-widget { max-width: 960px; }
.e-con.eco-el-measure > .elementor-widget-shortcode { max-width: none; }

/* Titoli */
.eco-el-kicker .elementor-heading-title { font-size: 10px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase; color: var(--eco-muted); }
.eco-el-display .elementor-heading-title { font-size: clamp(20px, 2.4vw, 28px); font-weight: 600; letter-spacing: 4px; text-transform: uppercase; color: var(--eco-ink); line-height: 1.25; }
.eco-el-title .elementor-heading-title { font-size: 13px; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; color: var(--eco-ink); line-height: 1.4; }
.eco-el-title--tile .elementor-heading-title { font-size: 15px; }
.eco-el-title--sm .elementor-heading-title { font-size: 12px; letter-spacing: 1.5px; }
.eco-el-section .elementor-heading-title { font-size: 12px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--eco-ink); }
.eco-el-logo .elementor-heading-title { font-size: 26px; font-weight: 600; letter-spacing: 9px; text-transform: uppercase; }
.eco-el-number .elementor-heading-title { font-size: 40px; font-weight: 300; letter-spacing: 0; color: var(--eco-ink); line-height: 1; }
.eco-el-price .elementor-heading-title { font-size: 28px; font-weight: 300; color: var(--eco-ink); }

/* Testi */
.eco-el-text { font-size: 14px; line-height: 1.75; color: var(--eco-ink); letter-spacing: .2px; }
.eco-el-text p { margin: 0 0 12px; }
.eco-el-text p:last-child { margin-bottom: 0; }
.eco-el-lead { font-size: 14px; line-height: 1.7; color: var(--eco-muted); max-width: 560px; margin-inline: auto; }
.eco-el-lead p { margin: 0; }

/* Link sottolineato animato */
.eco-el-link .elementor-heading-title { font-size: 11px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; }
.eco-el-link .elementor-heading-title a {
	color: var(--eco-ink); text-decoration: none; padding-bottom: 3px;
	background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat;
	transition: background-size .35s var(--eco-ease);
}
.eco-el-link .elementor-heading-title a:hover { background-size: 0 1px; background-position: 100% 100%; }

/* Pulsanti */
.eco-el-btn .elementor-button {
	background: var(--eco-ink); color: #fff; border: 1px solid var(--eco-ink); border-radius: 0;
	padding: 15px 32px; font-size: 11px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
	transition: background .25s, color .25s;
}
.eco-el-btn .elementor-button:hover { background: #fff; color: var(--eco-ink); }
.eco-el-btn--outline .elementor-button { background: transparent; color: var(--eco-ink); }
.eco-el-btn--outline .elementor-button:hover { background: var(--eco-ink); color: #fff; }
.eco-el-dark .eco-el-btn .elementor-button { background: #fff; color: var(--eco-ink); border-color: #fff; }
.eco-el-dark .eco-el-btn .elementor-button:hover { background: transparent; color: #fff; }

/* Fascia scura */
.eco-el-dark .elementor-heading-title { color: #fff !important; }
.eco-el-dark .eco-el-lead { color: #b9b9b5; }

/* Tile immagine (sfondo da impostare nel pannello Stile › Sfondo) */
.eco-el-tile { position: relative; overflow: hidden; }
.eco-el-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 55%, rgba(0,0,0,.18)); pointer-events: none; opacity: 0; transition: opacity .4s; }
.eco-el-tile:hover::after { opacity: 1; }
.eco-el-tile > .e-con-inner, .eco-el-tile > .elementor-element { position: relative; z-index: 1; }

/* Occasioni e marchi */
.eco-el-moods .eco-el-link .elementor-heading-title,
.eco-el-brands .eco-el-link .elementor-heading-title { font-size: 12px; letter-spacing: 2px; }
.eco-el-brands .eco-el-link .elementor-heading-title { font-size: 14px; letter-spacing: 4px; }

/* Griglia prodotti da shortcode */
.eco-el-products .woocommerce { width: 100%; }
.eco-el-products ul.products { margin: 0; }

/* FAQ (widget Accordion) */
.eco-el-faq .elementor-accordion-item { border: 0 !important; border-bottom: 1px solid var(--eco-line-strong) !important; }
.eco-el-faq .elementor-tab-title { padding: 20px 0 !important; font-size: 12px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.eco-el-faq .elementor-tab-title a, .eco-el-faq .elementor-accordion-icon { color: var(--eco-ink) !important; }
.eco-el-faq .elementor-accordion-icon svg { width: 10px; fill: currentColor; }
.eco-el-faq .elementor-tab-content { border: 0 !important; padding: 0 0 22px !important; font-size: 14px; line-height: 1.7; color: var(--eco-muted); }

/* Elenco puntato */
.eco-el-list .elementor-icon-list-item { padding: 12px 0; border-bottom: 1px solid var(--eco-line); font-size: 13px; }
.eco-el-list .elementor-icon-list-icon { display: none; }

/* Tabelle */
.eco-el-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.eco-el-table th { text-align: left; font-size: 10px; font-weight: 500; letter-spacing: 1.2px; text-transform: uppercase; color: var(--eco-muted); padding: 12px 12px 12px 0; border-bottom: 1px solid var(--eco-ink); }
.eco-el-table td { padding: 16px 12px 16px 0; border-bottom: 1px solid var(--eco-line); vertical-align: top; }

.eco-el-divider .elementor-divider-separator { border-color: var(--eco-line-strong); }

/* Comparsa allo scroll (rispetta reduced-motion) */
@media (prefers-reduced-motion: no-preference) {
	.elementor-page .eco-el-steps > .e-con,
	.elementor-page .eco-el-topics > .e-con { animation: eco-el-up .7s var(--eco-ease) both; }
	.elementor-page .eco-el-steps > .e-con:nth-child(2), .elementor-page .eco-el-topics > .e-con:nth-child(2) { animation-delay: .08s; }
	.elementor-page .eco-el-steps > .e-con:nth-child(3), .elementor-page .eco-el-topics > .e-con:nth-child(3) { animation-delay: .16s; }
	.elementor-page .eco-el-steps > .e-con:nth-child(4), .elementor-page .eco-el-topics > .e-con:nth-child(4) { animation-delay: .24s; }
}
@keyframes eco-el-up { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

@media (max-width: 760px) {
	.eco-el-table { font-size: 12px; }
	.eco-el-table th, .eco-el-table td { padding-right: 8px; }
}
