/*
Theme Name: Nordic Child
Theme URI: https://nordic.casethemes.net/
Author: Case-Themes
Author URI: https://casethemes.net/
Description: Nordic child theme
Version: 1.2.1
Template: nordic
Text Domain: nordic-child
*/

/* =========================================================
   TOKENS
========================================================= */

:root {
	--tempini-highlight-color: var(--e-global-color-primary, var(--primary-color, #A89860));
	--tempini-font-display: var(--font-heading, "Crimson Text", serif);
	--tempini-font-body: var(--font-body, "Work Sans", sans-serif);
	--tempini-font-accent: var(--tempini-font-display);

	/* backward compatibility */
	--tempini-heading-font: var(--tempini-font-display);
}

/* ==========================================================================
   SPAN DATA-HEADING
   ========================================================================== */

/**
 * 1. RESET GLOBALE SPAN-HEADINGS
 * Sostituisce il comportamento nativo di h1-h6 ereditando l'aspetto esatto.
 */
span[data-heading] {
    display: block;
	  font-family: var(--tempini-font-display) !important;
    font-optical-sizing: auto;
    color: var(--link-color);
    font-weight: 500;
    margin: 0 0 15px;
    clear: both;
    line-height: 1.28;
    font-style: normal;
}

span[data-heading="h1"] { font-size: 90px; }
span[data-heading="h2"] { font-size: 72px; }
span[data-heading="h3"] { font-size: 58px; }
span[data-heading="h4"] { font-size: 48px; }
span[data-heading="h5"] { font-size: 40px; }
span[data-heading="h6"] { font-size: 36px; }


/**
 * 2. SELETTORI CONTESTUALI SPECIFICI
 */
dl + span[data-heading="h2"] + ul      { padding-left: 35px; }
dl + span[data-heading="h2"] + ul ul   { padding-left: 35px; }
dl + span[data-heading="h2"] + ul ul li { list-style: outside; }


/**
 * 3. ASSETS/SCSS/WIDGETS.SCSS
 * Gestione dei titoli dei blocchi widget nel frontend
 */
.widget_block .wp-block-search__label,
.widget_block .wp-block-group__inner-container > span[data-heading="h2"] {
    /* @extend .ft-heading rimappato esplicitamente */
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    color: var(--link-color);
    text-transform: uppercase;
    margin-bottom: 30px;
    line-height: 1.2;
    position: relative;
    display: flex;
    align-items: baseline;
    gap: 10px;
    border-bottom: 1px solid #d5d5d5;
    padding-bottom: 10px;
}

@media (max-width: 1200px) {
    .widget_block .wp-block-search__label,
    .widget_block .wp-block-group__inner-container > span[data-heading="h2"] {
        margin-bottom: 33px;
        font-size: 20px;
    }
}



/**
 * 4. ASSETS/SCSS/WOOCOMMERCE.SCSS
 * Mappatura completa dell'area Shop, Carrello e Checkout
 */

/* Mini Cart Sidebar */
#pxl-cart-sidebar .cart-product-meta span[data-heading="h3"] {
    font-size: 16px; 
    line-height: normal; 
    margin-bottom: 3px;
}
#pxl-cart-sidebar .cart-product-meta span[data-heading="h3"] a {
    color: inherit; 
    font-weight: 600;
}
#pxl-cart-sidebar .cart-product-meta span[data-heading="h3"] a:hover {
    color: #555;
}

/* Prodotti Correlati e Tab Singolo Prodotto */
.single-product section.related span[data-heading="h2"] {
    font-size: 30px; 
    text-transform: capitalize; 
    color: #261723; 
    font-weight: 500; 
    border-top: 1px solid #d9d9d9;
    border-bottom: 1px solid #d9d9d9;
    padding: 28px 0;
}
.single-product .woocommerce-Tabs-panel > span[data-heading="h2"] {
    display: none;
}
.single-product .up-sells.upsells > span[data-heading="h2"] {
    font-size: 32px; 
    margin-bottom: 23px;
}

/* Pagina Carrello - Totale */
body.woocommerce-cart .cart-collaterals .cart_totals > span[data-heading="h2"] {
    font-size: 26px; 
    margin-bottom: 29px; 
    text-transform: capitalize;
}

/* Pagina Checkout - Dettagli Fatturazione e Spedizione */
.woocommerce-checkout #customer_details .woocommerce-billing-fields > span[data-heading="h3"],
.woocommerce-checkout #customer_details .woocommerce-additional-fields > span[data-heading="h3"] {
    font-size: 40px; 
    margin-bottom: 24px; 
    text-transform: capitalize;
}

@media (max-width: 991px) {
    .woocommerce-checkout #customer_details .woocommerce-billing-fields > span[data-heading="h3"],
    .woocommerce-checkout #customer_details .woocommerce-additional-fields > span[data-heading="h3"] {
        font-size: 32px;
    }
}
@media (max-width: 767px) {
    .woocommerce-checkout #customer_details .woocommerce-billing-fields > span[data-heading="h3"],
    .woocommerce-checkout #customer_details .woocommerce-additional-fields > span[data-heading="h3"] {
        font-size: 28px;
    }
}

.woocommerce-checkout #customer_details .woocommerce-additional-fields > span[data-heading="h3"] {
    margin-bottom: 32px; /* Margine specifico per i campi addizionali */
}

/* Pagina Account / Login */
.woocommerce-account .woocommerce-notices-wrapper + span[data-heading="h2"] {
    text-align: center; 
    font-size: 24px;
}
.woocommerce-account #customer_login span[data-heading="h2"] {
    font-size: 42px; 
    margin-bottom: 23px;
}

@media (max-width: 767px) {
    .woocommerce-account #customer_login span[data-heading="h2"] {
        font-size: 32px;
    }
}

/* =========================================================
   GLOBAL TYPOGRAPHY
========================================================= */

/* Heading system del tema */
body .ft-heading,
body .widget .widget-title,
body .pxl-widget-title,
body .comments-title,
body .comment-reply-title,
body .pxl-logo-fixed .pxl-logo-text,
body .pxl-heading.px-sub-title-default-style .pxl-heading--inner .pxl-item--title,
body .pxl-heading.px-sub-title-overlay-style .pxl-heading--inner .pxl-item--title,
body .pxl-heading.px-sub-title-style1-style .pxl-heading--inner .pxl-item--subtitle,
body .pxl-heading.px-sub-title-style1-style .pxl-heading--inner .pxl-item--title,
body .pxl-heading.px-sub-title-style2-style .pxl-item--title,
body .pxl-heading.px-sub-title-style3-style .pxl-item--subtitle,
body .pxl-heading .pxl-item--title,
body .pxl-process-box .pxl-item-title,
body .pxl-process-cards .pxl-title-heading,
body .pxl-banner-box .pxl-item-title,
body .pxl-icon-box .pxl-item-title,
body .pxl-post--title,
body .pxl-accordion--title,
body .pxl-tabs--title .pxl-title--text {
	font-family: var(--tempini-font-display) !important;
}

/* Highlight heading globale */
body .pxl-heading .pxl-title--highlight {
	font-family: var(--tempini-font-display) !important;
}

/* menu */
@media screen and (max-width: 1200px) {
    .pxl-menu-close {
        background-color: rgba(0, 0, 0, 0.03);
        position: absolute;
        top: 40px;
        right: 20px;
	}
}

/* home sezione cosa facciamo */
.pxl-process-cards2 .process-container {
	margin-top:50px !important;
}

/* tempini academy */
.pxl-image-single.style_img3 .pxl-item--inner .pxl-item--image {
    background-color: transparent; 
}
.pxl-banner-box.pxl-banner-box3 .pxl-banner-inner .pxl-list-banner a {
	background-color: var(--link-color);
	color: var(--primary-color);
}

/* paginazione post */
.pxl-pagination-wrap .page-numbers {
	background-color: var(--link-color-hover);
}
/* =========================================================
   PAGE 15291 - TYPOGRAPHY ALIGNMENT
========================================================= */

/* Base rule di pagina: tutti i titoli pxl-heading della pagina */
body.page-id-15291.elementor-page-15291 .elementor-15291 .pxl-heading .pxl-item--title,
body.page-id-15291.elementor-page-15291 .elementor-15291 .pxl-heading .pxl-title--highlight {
	font-family: var(--tempini-font-display) !important;
}

/* Widget heading specifico 85e849d: freno di sicurezza */
body.page-id-15291.elementor-page-15291 .elementor-15291 .elementor-element.elementor-element-85e849d .pxl-heading .pxl-item--title,
body.page-id-15291.elementor-page-15291 .elementor-15291 .elementor-element.elementor-element-85e849d .pxl-heading .pxl-title--highlight {
	font-family: var(--tempini-font-display) !important;
}

/* Highlight color fix specifico */
body.page-id-15291.elementor-page-15291 .elementor-15291 .elementor-element.elementor-element-85e849d .pxl-heading.px-sub-title-default-style .pxl-heading--inner .pxl-item--title .pxl-title--highlight,
body.page-id-15291.elementor-page-15291 .elementor-15291 .elementor-element.elementor-element-85e849d .pxl-heading .pxl-title--highlight {
	color: var(--tempini-highlight-color) !important;
	font-weight: 600 !important;
}

/* Fallback highlight sulla pagina */
body.page-id-15291.elementor-page-15291 .elementor-15291 .pxl-heading.px-sub-title-default-style .pxl-heading--inner .pxl-item--title .pxl-title--highlight {
	color: var(--tempini-highlight-color);
}

/* Text carousel della pagina: regola base coerente */
body.page-id-15291.elementor-page-15291 .elementor-15291 .pxl-text-carousel .pxl-item--text,
body.page-id-15291.elementor-page-15291 .elementor-15291 .pxl-text-carousel .pxl-item--text span {
	font-family: var(--tempini-font-accent) !important;
	font-weight: 500;
	line-height: 1.2;
}

/* Widget carousel specifico c78220e: freno di sicurezza */
body.page-id-15291.elementor-page-15291 .elementor-15291 .elementor-element.elementor-element-c78220e .pxl-text-carousel .pxl-item--text,
body.page-id-15291.elementor-page-15291 .elementor-15291 .elementor-element.elementor-element-c78220e .pxl-text-carousel .pxl-item--text span {
	font-family: var(--tempini-font-accent) !important;
	font-weight: 500;
	line-height: 1.2;
}

/* Manteniamo i colori del carousel già impostati dal builder/tema */
body.page-id-15291.elementor-page-15291 .elementor-15291 .elementor-element.elementor-element-c78220e .pxl-text-carousel .pxl-item--text,
body.page-id-15291.elementor-page-15291 .elementor-15291 .elementor-element.elementor-element-c78220e .pxl-text-carousel .pxl--item:nth-child(2n) .pxl-item--text {
	color: #555555;
}

/* list box title */
body.page-id-15291.elementor-page-15291 .elementor-15291 .pxl-list-box .pxl-item--title,
body.page-id-15291.elementor-page-15291 .elementor-15291 .pxl-list-box .pxl-item--title a,
body.page-id-15291.elementor-page-15291 .elementor-15291 .elementor-element.elementor-element-9e9d713 .pxl-list-box .pxl-item--title,
body.page-id-15291.elementor-page-15291 .elementor-15291 .elementor-element.elementor-element-9e9d713 .pxl-list-box .pxl-item--title a {
	font-family: var(--tempini-font-display) !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
}

/* metadata sotto il titolo: categoria + data */
body.page-id-15291.elementor-page-15291 .elementor-15291 .elementor-element.elementor-element-9e9d713 .pxl-text-categori,
body.page-id-15291.elementor-page-15291 .elementor-15291 .elementor-element.elementor-element-9e9d713 .pxl-text-date {
	font-family: var(--tempini-font-body) !important;
}

/* =========================================================
   HERO
========================================================= */

.pxl-carousel-hero1 .pxl-item .pxl-item-content .pxl-item--title {
	text-transform: initial;
}

.pxl-carousel-hero1 .pxl-item-inner {
	background: none;
}
.elementor-background-video-container::before {
	background: rgba(0, 0, 0, 0.7);
}

.pxl-carousel-hero1 .pxl-bg-hero,
.pxl-carousel-hero1 .pxl-bg-hero::after,
.pxl-carousel-hero1 .pxl-bg-hero::before {
	background-color:transparent !important;
	background:none !important;
}

.pxl-carousel-hero1 .pxl-item .pxl-item-content .pxl-item--desc {
	color:#fff;
}

/* =========================================================
   PAGE 15291 - TYPOGRAPHY ALIGNMENT
========================================================= */
/* highlight */
.elementor-15151 .elementor-element.elementor-element-af7b63f .pxl-heading .pxl-title--highlight,
.elementor-15151 .elementor-element.elementor-element-e27c2c9 .pxl-heading .pxl-title--highlight,
.elementor-15151 .elementor-element.elementor-element-51b37d1 .pxl-heading .pxl-title--highlight,
.pxl-heading.px-sub-title-default-style .pxl-heading--inner .pxl-item--title .pxl-title--highlight {
  color: var(--tempini-highlight-color);
}

/* PAGE 15151 - intro paragraph */
body.page-id-15151.elementor-page-15151 .elementor-15151 .elementor-element.elementor-element-2906cee .pxl-text-editor p {
	font-family: var(--tempini-font-body) !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
	letter-spacing: 0 !important;
}

/* PAGE 15151 - only section labels */
body.page-id-15151.elementor-page-15151 .elementor-15151 .elementor-element.elementor-element-038fcbb .pxl-text-editor p,
body.page-id-15151.elementor-page-15151 .elementor-15151 .elementor-element.elementor-element-a7887bf .pxl-text-editor p {
	font-family: var(--tempini-font-display) !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
}

/* PAGE 15151 - mission/vision descriptions */
body.page-id-15151.elementor-page-15151 .elementor-15151 .elementor-element.elementor-element-0582902 .pxl-text-editor p,
body.page-id-15151.elementor-page-15151 .elementor-15151 .elementor-element.elementor-element-be4b527 .pxl-text-editor p {
	font-family: var(--tempini-font-body) !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
	letter-spacing: 0 !important;
}

/* PAGE 15151 - About Us label */
body.page-id-15151.elementor-page-15151 .elementor-15151 .elementor-element.elementor-element-6706575 .pxl-text-editor p {
	font-family: var(--tempini-font-display) !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
}

/* PAGE 15151 - philosophy sentence */
body.page-id-15151.elementor-page-15151 .elementor-15151 .elementor-element.elementor-element-d4ca1fc .pxl-text-editor p {
	font-family: var(--tempini-font-display) !important;
	font-weight: 400 !important;
	line-height: 1.6 !important;
	letter-spacing: 0 !important;
}


/* PAGE 15151 - carousel awards, clone dell'istanza corretta */
body.page-id-15151 .elementor-15151 .elementor-element.elementor-element-789ae0e .pxl-text-carousel .pxl-item--text,
body.page-id-15151 .elementor-15151 .elementor-element.elementor-element-789ae0e .pxl-text-carousel .pxl-item--text span {
	font-family: var(--tempini-font-display) !important;
	font-weight: 400 !important;
	line-height: 1.3em !important;
	letter-spacing: 0 !important;
	color: #555555 !important;
	text-transform: none !important;
}

body.page-id-15151 .elementor-15151 .elementor-element.elementor-element-789ae0e .pxl-text-carousel .pxl--item:nth-child(2n) .pxl-item--text {
	color: #555555 !important;
}

body.page-id-15151 .elementor-15151 .elementor-element.elementor-element-789ae0e .pxl-text-carousel .pxl--item::after {
	background-color: #555555 !important;
}
body.page-id-15151 .pxl-testimonial-carousel1 .pxl-item-inner {
    background-color: #F1F1EE;
}

/* =========================================================
   BRAND SINGLE — ripristino padding laterale
   Il tema azzera padding su .col-12 per Elementor pages a ≤1024px,
   escludendo solo single-post e single-product.
========================================================= */
@media (max-width: 1024px) {
    .single-brand #pxl-content-area.col-12 {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* =========================================================
   PAGE TITLE BAR
========================================================= */
#pxl-page-title-default .pxl-ptitle-content .pxl-ptitle-icon {
    display: none;
}

/* =========================================================
   BLOG e PROGETTI
========================================================= */
.pxl-post-carousel3 .pxl-post--inner,
.widget_search .search-field, .widget_search .wp-block-search__input,
.pxl-sidebar-area .widget,
.widget_tag_cloud a,
.single-post .pxl-inner-top-meta .pxl-inner-post-custom,
.pxl-related-post,
.pxl-pagination1,
.pxl-video-scroll1 .pxl-list-video {
	background-color: var(--link-color-hover);
}


.pxl-item--archive {
  box-shadow: 0px 3px 15px rgba(0, 0, 0, .2);
  background-color: transparent;
}

.pxl-sidebar-sticky [id^="pxl_elementor_box-"],
.pxl-sidebar-sticky [id^="categories-"] {
  display: none;
}

/* =========================================================
   BRAND ARCHIVE — intro text alignment
   e-con-boxed aggiunge padding al .e-con-inner che sfasa il testo
   rispetto al titolo nel banner (che usa .container Bootstrap).
========================================================= */
.elementor-element-cc26bf6 > .e-con-inner {
    padding-inline-start: 0;
    padding-inline-end: 0;
    margin:0;
}

/* =========================================================
   BRAND — logo image full-width
========================================================= */
.pxl-brand--inner > a > img,
.pxl-brand--inner > a img {
    width: 100%;
    height: auto;
    display: block;
}

.pxl-brand-cat--image,
.pxl-brand-cat--image img {
    width: 100%;
    height: auto;
    display: block;
}

.pxl-brand-cat--inner {
    overflow: hidden;
}

.pxl-brand-cat--body {
    padding: 12px 0;
}

.pxl-brand-cat--name {
    margin: 0 0 4px;
}

.mt-cust {
  margin-top:60px;
}

.mb-cust {
  margin-bottom:20px;
}

.pxl-grid-inner {
  margin-bottom:60px;
}

/* =========================================================
  SERVIZI
========================================================= */
.pxl-service-sidebar1 .pxl-item-inner .pxl-inner-change .pxl-item-change .pxl-item--icon {
  display:none;
}