/*
Theme Name: Porto Child - Urban21
Theme URI: https://urban21barbershop.com
Description: Child theme di Porto per Urban21 Barbershop
Author: Electribe
Author URI: https://electribe.it
Template: porto
Version: 1.2
*/

/* ============================================================
   HOME PAGE
   ============================================================ */

/* Menu Prenota */
li.menu-prenota {
    align-self: center !important;
    margin-left: 20px !important;
}
li.menu-prenota > a {
    background-color: #2C3539 !important;
    color: #ffffff !important;
    padding: 4px 14px !important;
    border-radius: 3px !important;
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    letter-spacing: 0.1em !important;
    transition: color 0.2s ease !important;
}
li.menu-prenota > a::before,
li.menu-prenota > a::after {
    display: none !important;
}
li.menu-prenota > a:hover,
#header li.menu-prenota > a:hover,
.header-main li.menu-prenota > a:hover {
    background-color: #2C3539 !important;
    color: #B0B8C1 !important;
}

.review-section { width: 100vw !important; left: 50%; transform: translate3d(-50%,0,0); }
.intro-mobile-banner { min-height: 400px; }
.review-testimonial .testimonial blockquote:before { left: 3.5%; color: #777; }
.review-testimonial .testimonial-author { justify-content: center; }
.review-testimonial .testimonial .testimonial-author strong { font-size: 1.2em; margin-top: 0; }
.review-testimonial .testimonial blockquote { font-size: 1.125em; padding-bottom: 1rem; }
.review-testimonial .testimonial blockquote p { line-height: 1.6em; }
.review-testimonial .testimonial-author p { margin-left: 0; }
.opacity-3 { opacity: 0.3 !important; }
.book-sidebar-block a:not(:hover) { color: inherit; }
.home-testimonial-float-text { position: absolute; left: 50%; top: 100%; transform: translate3d(-50%, -50%, 0); opacity: 0.3; }
.home-image-gallery figure img { width: auto; margin: 0 auto 3rem; }
.banner-half-container { padding: 0 12px !important; }
.custom-image-gallery .vc_single_image-wrapper,
.custom-image-gallery img { width: 100%; }

@media (max-width: 1599px) {
    .intro-banner-layer-1 { left: 8% !important; }
    .intro-banner-layer-2 { right: 8% !important; }
}
@media (max-width: 991px) {
    .intro-banner-layer-1 { left: 8% !important; }
    .intro-banner-layer-2 { right: 8% !important; }
}

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

/* Bottone SERVIZI: oro con scritta avorio */
.home-banner-slider .btn-light {
    background-color: #B0B8C1 !important;
    color: #f5efe0 !important;
    border-color: #B0B8C1 !important;
}

/* Rimuovi spazio bianco tra hero e about */
.home-banner-slider { margin-bottom: 0 !important; }
.home-banner-slider + * { margin-top: 0 !important; }

/* Blocco saloni homepage — reset margin about-section e spazio sopra */
.home-saloni-section { margin-bottom: 0 !important; }
.vc_row.home-saloni-section, .wpb_row.home-saloni-section { padding-top: 20px !important; }
body.home .about-section { margin-top: 160px !important; }

/* Overlay immagine via CSS (più affidabile di image_opacity shortcode) */
.home-banner-slider .banner-effect-wrapper { filter: brightness(0.25) !important; }

/* Testi hero: tutti bianchi, titolo URBAN21 oro */
.home-banner-slider .porto-ibanner-desc,
.home-banner-slider .porto-ibanner-desc * { color: #ffffff !important; }
.home-banner-slider .porto-ibanner-desc .porto-u-heading h2,
.home-banner-slider .porto-ibanner-desc .porto-u-heading .porto-heading-title { color: #B0B8C1 !important; }

/* ============================================================
   SEZIONE CHI SIAMO (about-section)
   ============================================================ */

.about-section {
    background-color: #2C3539 !important;
    margin-top: -65px !important;
    box-shadow: 0 -65px 0 0 #2C3539 !important;
}
.about-section h2,
.about-section h3,
.about-section h4 { color: #B0B8C1 !important; }
.about-section p,
.about-section .vc_custom_heading p { color: #e8e0d0 !important; }
.about-section .vc_btn3 { border-color: #B0B8C1 !important; color: #B0B8C1 !important; }

/* ============================================================
   PAGE HEADER
   ============================================================ */

.page-top .page-title {
    font-size: 2rem;
    font-family: 'Playfair Display';
    font-weight: 600;
}

/* ============================================================
   FOOTER
   ============================================================ */

.footer-wrapper {
    background-color: #B0B8C1 !important;
    box-shadow: 0 0 0 100vmax #B0B8C1 !important;
    clip-path: inset(0 -100vmax);
}
footer#footer *,
footer#footer p,
footer#footer a,
footer#footer li,
footer#footer span,
footer#footer h1,
footer#footer h2,
footer#footer h3,
footer#footer h4,
footer#footer h5,
.widget-title { color: #1a1a1a !important; }
footer#footer .bottom-contact-button i { color: #ffffff !important; }
footer#footer a:hover { color: #fff !important; }

/* Sfondo pagina (evita flash bianco sotto footer) */
html,
body,
.page-wrapper { background-color: #B0B8C1 !important; }

/* Icone social footer */
footer#footer .share-links a { font-size: 30px !important; }

/* Font-size footer */
footer#footer h1, footer#footer h2,
footer#footer h3, footer#footer h4, footer#footer h5,
footer#footer .widget-title {
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    font-size: 25px !important;
    letter-spacing: 0.1em !important;
}
footer#footer p,
footer#footer li,
footer#footer a,
footer#footer span { font-size: 19px !important; line-height: 1.8 !important; }

/* ============================================================
   ABOUT PAGE
   ============================================================ */

.about-image-slider .porto-wrap-container > .row { justify-content: center; }

/* Nascondi page header grigio Porto e blocco WPBakery titolo */
.page-id-133 .page-top { display: none !important; }
.page-id-133 .about-page-header { display: none !important; }

/* Sfondo scuro come /saloni/ - solo contenuto, non header */
.page-id-133 #main { background-color: #1a1a1a !important; }
.page-id-133 .vc_custom_heading,
.page-id-133 p { color: #e8e0d0 !important; }

/* Azzera padding Porto wrapper per allineare hero a /saloni/ */
.page-id-133 .main-content,
.page-id-135 .main-content { padding-top: 20px !important; }

/* Services: stesse regole About */
.page-id-135 .page-top { display: none !important; }
.page-id-135 #main { background-color: #1a1a1a !important; }
.page-id-135 .vc_custom_heading,
.page-id-135 p { color: #e8e0d0 !important; }

/* ===== STICKY HEADER - sfondo oro ===== */
#header.sticky-header,
#header.sticky-header .header-main,
#header.sticky-header .header-body,
#header.affix,
#header.affix .header-main,
#header.affix .header-body,
.sticky-header .header-main,
.sticky-active #header .header-main {
    background-color: #B0B8C1 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2) !important;
}

/* Fix sticky header bianco - classe esatta Porto */
.header-main.sticky {
    background-color: #B0B8C1 !important;
}

/* Override dynamic_style.css - sticky header oro */
#header.sticky-header .header-main,
.fixed-header #header.sticky-header .header-main {
    background-color: #B0B8C1 !important;
}

/* ============================================================
   HOMEPAGE - SEZIONE SERVIZI
   ============================================================ */

/* Sezione servizi - sfondo oro pieno + padding */
.vc_custom_1662512003853 {
    background-color: #B0B8C1 !important;
    padding-bottom: 80px !important;
}

/* Titolo "I NOSTRI SERVIZI" - Bebas Neue (selettore esatto Porto) */
.vc_custom_1662512003853 .porto-u-main-heading h2,
.vc_custom_1662512003853 .porto-u-heading h2 {
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    letter-spacing: 0.08em !important;
    font-size: 3.5rem !important;
    color: #1a1a1a !important;
}

/* Sottotitolo servizi - visibile su sfondo oro */
.vc_custom_1662512003853 .vc_column-inner p,
.vc_custom_1662512003853 .wpb_wrapper > p {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    color: #1a1a1a !important;
}

/* ============================================================
   WOOCOMMERCE - SINGOLA PAGINA PRODOTTO
   (stesso stile della pagina About/Chi Siamo)
   ============================================================ */

/* Nascondi page-top di Porto - il titolo lo gestisce il layout */
.single-product .page-top {
    display: none !important;
}

/* Sfondo nero come About */
.single-product #main,
.single-product .main-content {
    background-color: #1a1a1a !important;
}

/* Wrapper prodotto - padding generoso */
.single-product div.product {
    padding: 60px 0 80px !important;
}

/* Titolo prodotto - centrato, Bebas Neue oro, grande come CHI SIAMO */
.single-product .product_title {
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    letter-spacing: 0.08em !important;
    font-size: 3.5rem !important;
    color: #B0B8C1 !important;
    text-align: center !important;
    width: 100% !important;
    margin-bottom: 0.3em !important;
}

/* Linea separatrice oro sotto il titolo */
.single-product .product_title::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #B0B8C1;
    opacity: 0.4;
    margin-top: 0.5em;
}

/* Descrizione prodotto */
.single-product .woocommerce-product-details__short-description,
.single-product .woocommerce-product-details__short-description p {
    color: #e8e0d0 !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
}

/* Categorie */
.single-product .posted_in,
.single-product .posted_in a {
    color: #e8e0d0 !important;
}

/* Icone social share */
.single-product .porto-share .share-links a {
    color: #B0B8C1 !important;
    border-color: #B0B8C1 !important;
}

/* Badge disponibile in negozio */
.single-product .summary::before {
    content: "Disponibile esclusivamente nei nostri saloni";
    display: block;
    background-color: #B0B8C1;
    color: #1a1a1a;
    font-family: 'Bebas Neue', Impact, sans-serif;
    letter-spacing: 0.12em;
    font-size: 1rem;
    padding: 10px 20px;
    margin-bottom: 24px;
}

/* ============================================================
   WOOCOMMERCE - TEMPLATE SINGOLA PAGINA PRODOTTO U21
   ============================================================ */

.u21-product-page {
    background-color: #1a1a1a;
    min-height: 80vh;
    padding: 40px 5% 80px;
    color: #e8e0d0;
}

/* Header con titolo centrato */
.u21-product-header {
    text-align: center;
    margin-bottom: 40px;
}
.u21-product-title {
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    font-size: 3.5rem !important;
    letter-spacing: 0.1em !important;
    color: #B0B8C1 !important;
    margin-bottom: 40px !important;
    font-style: normal !important;
    font-weight: 400 !important;
}
.u21-product-divider {
    width: 100%;
    height: 1px;
    background-color: #A8B2BC;
    opacity: 1;
    margin: 0 auto 40px;
}

/* Badge disponibile in negozio */
.u21-product-badge {
    background-color: #B0B8C1;
    color: #1a1a1a;
    font-family: 'Bebas Neue', Impact, sans-serif;
    letter-spacing: 0.12em;
    font-size: 1rem;
    padding: 12px 24px;
    text-align: center;
    margin-bottom: 50px;
}

/* Layout 2 colonne */
.u21-product-content {
    display: flex;
    gap: 60px;
    align-items: flex-start;
    max-width: 1100px;
    margin: 0 auto;
}
.u21-product-image {
    flex: 0 0 45%;
}
.u21-product-image img {
    width: 100% !important;
    height: auto !important;
    border: 1px solid rgba(214,163,84,0.3);
}
.u21-product-details {
    flex: 1;
    padding-top: 10px;
}
.u21-product-name {
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    font-size: 2rem !important;
    letter-spacing: 0.08em !important;
    color: #B0B8C1 !important;
    font-weight: 400 !important;
    font-style: normal !important;
    margin-bottom: 0.6em !important;
    padding-bottom: 0.4em !important;
    border-bottom: 1px solid rgba(214,163,84,0.25) !important;
}
.u21-product-description p {
    color: #e8e0d0 !important;
    font-size: 1.05rem !important;
    line-height: 1.8 !important;
    margin-bottom: 1.5em !important;
}
.u21-product-categories {
    color: #e8e0d0;
    font-size: 0.9rem;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid rgba(214,163,84,0.2);
}
.u21-product-categories a {
    color: #B0B8C1 !important;
}

/* Mobile */
@media (max-width: 768px) {
    .u21-product-content { flex-direction: column; gap: 30px; }
    .u21-product-image { flex: 0 0 100%; }
    .u21-product-title { font-size: 2.5rem !important; }
}

/* Fix gap bianchi tra sezioni - solo homepage */
body.home #main,
body.home .main-container {
    background-color: #B0B8C1 !important;
}

/* ============================================================
   WOOCOMMERCE - PAGINA ARCHIVIO PRODOTTI (SHOP)
   ============================================================ */

/* Shop page - sfondo nero full page */
body.woocommerce-page .page-top,
body.woocommerce-page .page-top { display: none !important; }

body.woocommerce-page #main,
body.woocommerce-page .main-content {
    background-color: #1a1a1a !important;
    padding: 0 !important;
}

/* Nascondi Mostra globalmente nella pagina shop */
body.woocommerce-page .woocommerce-ordering,
body.woocommerce-page form.woocommerce-ordering,
body.woocommerce-page .products-per-page,
body.woocommerce-page select#per-page { display: none !important; }

/* Stacca "Mostra" dalla griglia prodotti */
body.woocommerce-page .woocommerce-viewing {
    display: block !important;
    clear: both;
    margin-top: 30px !important;
    padding-top: 20px !important;
    border-top: 1px solid rgba(214,163,84,0.2) !important;
    color: #e8e0d0 !important;
    text-align: right !important;
}
body.woocommerce-page .woocommerce-viewing label {
    color: #e8e0d0 !important;
    margin-right: 8px !important;
}
body.woocommerce-page .woocommerce-viewing select {
    background-color: #2C3539 !important;
    color: #B0B8C1 !important;
    border: 1px solid rgba(214,163,84,0.4) !important;
    padding: 4px 8px !important;
}

.u21-shop-page {
    background-color: #1a1a1a;
    min-height: 80vh;
    padding: 40px 40px 80px;
    width: 100%;
    box-sizing: border-box;
}

.u21-shop-grid {
    width: 100%;
}

/* Nasconde sort, filter, risultati e mostra */
.u21-shop-page .woocommerce-ordering,
.u21-shop-page .woocommerce-result-count,
.u21-shop-page .porto-wc-toolbar,
.u21-shop-page .woocommerce-products-header,
.u21-shop-page .woocommerce-pagination .woocommerce-pagination__per-page {
    display: none !important;
}

/* Grid prodotti */
.u21-shop-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

/* Card prodotto */
.u21-shop-page ul.products li.product {
    background-color: #222629 !important;
    border: 1px solid rgba(214,163,84,0.25) !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    float: none !important;
    transition: border-color 0.3s ease;
}
.u21-shop-page ul.products li.product:hover {
    border-color: #B0B8C1 !important;
}

/* Immagine card full width */
.u21-shop-page ul.products li.product img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* Nascondi prezzo, bottone e categorie sulle card */
.u21-shop-page .price,
.u21-shop-page .woocommerce-Price-amount,
.u21-shop-page .add_to_cart_button,
.u21-shop-page .button,
.u21-shop-page .posted_in {
    display: none !important;
}

/* Nome prodotto sulla card - non troncato */
.u21-shop-page .woocommerce-loop-product__title {
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    font-size: 1.4rem !important;
    letter-spacing: 0.08em !important;
    color: #B0B8C1 !important;
    text-align: center !important;
    padding: 16px 12px !important;
    font-style: normal !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
}

/* Paginazione */
.u21-shop-page .woocommerce-pagination a,
.u21-shop-page .woocommerce-pagination span {
    color: #B0B8C1 !important;
    border-color: rgba(214,163,84,0.4) !important;
}

/* Mobile */
@media (max-width: 768px) {
    .u21-shop-page ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 480px) {
    .u21-shop-page ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* Nascondi "Aggiungi alla lista dei desideri" ovunque */
.yith-wcwl-add-to-wishlist,
.add_to_wishlist,
.yith-wcwl-wishlistexistsbrowse,
.yith-wcwl-wishlistaddedbrowse {
    display: none !important;
}

/* ============================================================
   WOOCOMMERCE - QUICKVIEW POPUP
   ============================================================ */

/* Container principale - fancybox quickview */
.fancybox-skin,
.fancybox-inner,
.fancybox-outer,
.quickview-wrap,
.quickview-inner {
    background-color: #1a1a1a !important;
    color: #e8e0d0 !important;
}
.quickview {
    background-color: #1a1a1a !important;
    color: #e8e0d0 !important;
}

/* Titolo prodotto */
.quickview .product_title {
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    font-size: 2.5rem !important;
    letter-spacing: 0.08em !important;
    color: #B0B8C1 !important;
    font-style: normal !important;
    margin-top: 50px !important;
    display: block !important;
}

/* Badge - mettilo SOTTO il titolo */
.quickview .summary::before,
.fancybox-skin .summary::before,
.quickview-wrap .summary::before {
    content: none !important;
    display: none !important;
}
.quickview .product_title::after {
    content: none !important;
}
.quickview .summary .u21-qv-badge {
    display: block;
}

/* Descrizione */
.quickview .woocommerce-product-details__short-description p,
.quickview .woocommerce-product-details__short-description {
    color: #e8e0d0 !important;
}

/* Categorie */
.quickview .posted_in,
.quickview .posted_in a {
    color: #e8e0d0 !important;
}

/* Icone social */
.quickview .share-links a,
.quickview .porto-share a {
    color: #B0B8C1 !important;
    border-color: rgba(214,163,84,0.4) !important;
    background-color: transparent !important;
}

/* Separatori */
.quickview hr,
.quickview .porto-single-product-share {
    border-color: rgba(214,163,84,0.2) !important;
}

/* Bottone chiudi */
.quickview ~ .mfp-close,
button.mfp-close {
    color: #B0B8C1 !important;
    background: transparent !important;
}

/* Quickview - rimuovi linea doppia, sistema icone social */
.fancybox-skin .porto-single-product-share,
.fancybox-skin .product_meta + hr,
.quickview-wrap .porto-single-product-share ~ hr,
.quickview-wrap hr:last-of-type {
    display: none !important;
}

.fancybox-skin .share-links a,
.fancybox-skin .porto-share a,
.quickview-wrap .share-links a {
    color: #B0B8C1 !important;
    border-color: rgba(214,163,84,0.5) !important;
    background-color: transparent !important;
}
.fancybox-skin .share-links a:hover,
.quickview-wrap .share-links a:hover {
    background-color: #B0B8C1 !important;
    color: #1a1a1a !important;
}

/* Quickview - nascondi form.cart (bordi residui) */
.fancybox-skin form.cart,
.quickview-wrap form.cart {
    display: none !important;
}

/* Homepage - mostra nome prodotto nelle card */
.porto-posts-grid .porto-tb-woo-link.hide-title .porto-post-title,
.porto-posts-grid .porto-post-title,
.porto-posts-grid h3,
.porto-posts-grid .woocommerce-loop-product__title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #B0B8C1 !important;
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    font-size: 1.2rem !important;
    letter-spacing: 0.08em !important;
    text-align: center !important;
    padding: 10px 8px !important;
}

/* Homepage prodotti - titolo sopra categorie */
.porto-posts-grid .porto-section.product-content {
    display: flex !important;
    flex-direction: column !important;
}
.porto-posts-grid .porto-section.product-content .porto-tb-woo-link {
    order: 0 !important;
}
.porto-posts-grid .porto-section.product-content h3.porto-heading {
    order: 1 !important;
    font-size: 1.8rem !important;
}
.porto-posts-grid .porto-section.product-content .porto-tb-meta {
    order: 2 !important;
    font-size: 0.75rem !important;
    color: #e8e0d0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}
.porto-posts-grid .porto-section.product-content .tb-woo-rating,
.porto-posts-grid .porto-section.product-content .tb-woo-price {
    order: 3 !important;
}

/* Bottone LINEA URBAN21 - stesso stile di APPROFONDISCI */
.vc_custom_1778746130492 .vc_btn3 {
    border: 1px solid #B0B8C1 !important;
    color: #B0B8C1 !important;
    background-color: transparent !important;
}
.vc_custom_1778746130492 .vc_btn3:hover {
    background-color: #B0B8C1 !important;
    color: #1a1a1a !important;
}

/* Chi Siamo - stile testo corpo */
.page-id-133 .wpb_text_column p {
    font-size: 1.1em !important;
    line-height: 26px !important;
    text-align: justify !important;
    color: #e8e0d0 !important;
}

/* Header - menu principale font size */
.wpb_custom_917fa8b648ae1476ba47ff6e4ae4889f.main-menu > li > a,
.header-main .main-menu > li > a {
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    font-size: 19px !important;
    color: #ffffff !important;
    letter-spacing: 0.08em !important;
    font-weight: 400 !important;
}

/* ============================================================
   SINGOLA PAGINA SERVIZIO (portfolio CPT)
   ============================================================ */

/* Page-top servizio - nascosto perché il template ha il suo titolo */
body.single-portfolio .page-top { display: none !important; }

/* Sfondo nero come pagina prodotto */
body.single-portfolio #main,
body.single-portfolio .main-content {
    background-color: #1a1a1a !important;
}

/* Titolo pagina - Bebas Neue oro centrato */
body.single-portfolio .page-title,
body.single-portfolio h1.entry-title,
body.single-portfolio .porto-page-title {
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    font-size: 3.5rem !important;
    letter-spacing: 0.08em !important;
    color: #B0B8C1 !important;
    text-align: center !important;
    font-style: normal !important;
    padding: 40px 0 20px !important;
}

/* Testo contenuto */
body.single-portfolio .entry-content,
body.single-portfolio .entry-content p {
    color: #e8e0d0 !important;
    font-size: 1.05rem !important;
    line-height: 1.8 !important;
}

/* Pagina archivio servizi — titolo trattamento su riga separata */
.service-desc strong {
    display: block;
    color: #A8B2BC !important;
    font-family: 'Bebas Neue', Impact, sans-serif;
    font-size: 0.95rem;
    letter-spacing: 0.06em;
    margin-top: 0.8em;
    margin-bottom: 0.15em;
}
.service-desc strong:first-child { margin-top: 0; }

/* Label "Service Description" */
body.single-portfolio .porto-service-description,
body.single-portfolio [class*="service-desc"] {
    color: #B0B8C1 !important;
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    font-size: 1.5rem !important;
    letter-spacing: 0.08em !important;
}

/* Fix specificità singola pagina servizio */
body.single-portfolio #main { background-color: #1a1a1a !important; }
body.single-portfolio h1.page-title {
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    font-size: 3.5rem !important;
    letter-spacing: 0.08em !important;
    color: #B0B8C1 !important;
    text-align: center !important;
    font-style: normal !important;
    padding: 40px 0 20px !important;
}
body.single-portfolio .entry-content p { color: #e8e0d0 !important; }

/* Icona servizio accanto al titolo */
.u21-service-page { background-color: #1a1a1a; min-height: 80vh; padding: 40px 5% 80px; }
.u21-service-icon {
    display: block !important;
    font-size: 3rem !important;
    color: #B0B8C1 !important;
    margin-bottom: 0.3em !important;
}

/* Icona servizio a fianco del titolo */
.u21-service-title-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px !important;
    margin-bottom: 0.3em !important;
}
.u21-service-icon {
    display: flex !important;
    align-items: center !important;
    font-size: 3rem !important;
    color: #B0B8C1 !important;
    flex-shrink: 0 !important;
}
.u21-service-icon svg { display: block !important; }

/* Navigazione prev/next servizio */
.u21-service-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 40px 5% 20px;
    border-top: 1px solid rgba(214,163,84,0.25);
    max-width: 1100px;
    margin: 0 auto;
}
.u21-service-nav-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #B0B8C1 !important;
    font-family: 'Bebas Neue', Impact, sans-serif;
    font-size: 1.2rem;
    letter-spacing: 0.08em;
    text-decoration: none !important;
    transition: opacity 0.2s;
}
.u21-service-nav-btn:hover { opacity: 0.7; }
.u21-service-nav-btn svg { flex-shrink: 0; }

/* ============================================================
   UNIFORMAZIONE TITOLI PAGINE
   Riferimento: Services (52px, #A8B2BC, spaceAbove 60px)
   ============================================================ */

/* About + Saloni archivio: padding-top 80→40px sul hero */
.urban21-archive-hero {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
}

/* Products archivio: spaceAbove 40→60px, titolo 56→52px, colore */
.u21-shop-page {
    padding-top: 60px !important;
}
.u21-shop-page .u21-product-title {
    font-size: 52px !important;
    color: #B0B8C1 !important;
}

/* Product singolo: spaceAbove 40→60px, titolo 56→52px, colore */
.u21-product-page {
    padding-top: 60px !important;
}
.u21-product-page .u21-product-title {
    font-size: 52px !important;
    color: #B0B8C1 !important;
}

/* Salone singolo (body class: single-salone): colore titolo e sfondo */
body.single-salone #main,
body.single-salone .main-content {
    background-color: #1a1a1a !important;
}
body.single-salone .urban21-single-hero__content h1,
body.single-salone h1 {
    color: #B0B8C1 !important;
}

/* ============================================================
   BLOG
   ============================================================ */

/* Page header */
body.blog .page-top,
body.archive.category .page-top {
    background-color: #1a1a1a !important;
    padding: 0 !important;
    text-align: center !important;
}
body.blog .page-top .container,
body.archive.category .page-top .container {
    padding: 40px 20px !important;
    border-bottom: 1px solid #A8B2BC !important;
    text-align: center !important;
}
body.blog .page-top .row,
body.archive.category .page-top .row {
    justify-content: center !important;
}
body.blog .page-top .col-lg-6,
body.archive.category .page-top .col-lg-6 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    text-align: center !important;
}
body.blog .page-top .page-title,
body.archive.category .page-top .page-title {
    color: #A8B2BC !important;
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    font-size: 52px !important;
    letter-spacing: 0.08em !important;
    font-weight: 400 !important;
    text-align: center !important;
    margin: 0 !important;
}

/* Sfondo generale */
body.blog #main,
body.archive.category #main {
    background-color: #1a1a1a !important;
}

/* Rimuovi sidebar — colonna content diventa full width */
body.blog .sidebar,
body.archive.category .sidebar {
    display: none !important;
}
body.blog .main-content,
body.archive.category .main-content {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* Post card */
body.blog article.post,
body.archive.category article.post {
    background-color: #2C3539 !important;
    border: 1px solid rgba(200,169,110,0.15) !important;
    padding: 0 0 20px !important;
    margin-bottom: 32px !important;
}

/* Data box */
body.blog .post-date,
body.archive.category .post-date {
    background-color: #2C3539 !important;
    color: #A8B2BC !important;
}
body.blog .post-date .day,
body.archive.category .post-date .day {
    color: #A8B2BC !important;
}
body.blog .post-date .month,
body.archive.category .post-date .month {
    color: #A8B2BC !important;
}

/* Titolo post */
body.blog article h2 a,
body.blog article h3 a,
body.archive.category article h2 a,
body.archive.category article h3 a {
    color: #A8B2BC !important;
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    letter-spacing: 0.06em !important;
}
body.blog article h2 a:hover,
body.archive.category article h2 a:hover {
    color: #B0B8C1 !important;
}

/* Meta (autore, data) */
body.blog .post-meta,
body.blog .post-info,
body.blog .entry-meta,
body.archive.category .post-meta,
body.archive.category .post-info {
    color: #777 !important;
}
body.blog .post-meta a,
body.archive.category .post-meta a {
    color: #999 !important;
}

/* Testo excerpt */
body.blog article p,
body.archive.category article p {
    color: #b0a898 !important;
}

/* Read more */
body.blog .read-more,
body.blog a.btn,
body.archive.category .read-more,
body.archive.category a.btn {
    color: #A8B2BC !important;
    border-color: #A8B2BC !important;
}
body.blog .read-more:hover,
body.archive.category .read-more:hover {
    color: #B0B8C1 !important;
}

/* Paginazione */
body.blog .pagination a,
body.archive.category .pagination a {
    background: #2C3539 !important;
    color: #A8B2BC !important;
    border-color: transparent !important;
}
body.blog .pagination .current,
body.archive.category .pagination .current {
    background: #A8B2BC !important;
    color: #1a1a1a !important;
}

/* ============================================================
   SINGOLO POST
   ============================================================ */

/* Page header */
body.single-post .page-top {
    background-color: #1a1a1a !important;
    padding: 20px 0 0 !important;
}
body.single-post .page-top .container {
    padding: 40px 20px !important;
    border-bottom: 1px solid #A8B2BC !important;
    text-align: center !important;
}
body.single-post .page-top .row {
    justify-content: center !important;
}
body.single-post .page-top .col-lg-6 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    text-align: center !important;
}
body.single-post .page-top .page-title {
    color: #A8B2BC !important;
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    font-size: 52px !important;
    letter-spacing: 0.08em !important;
    font-weight: 400 !important;
    margin: 0 !important;
}

/* Sfondo generale */
body.single-post #main {
    background-color: #1a1a1a !important;
}

/* Riduce spazio tra riga titolo e data/autore */
body.single-post .main-content {
    padding-top: 0 !important;
}
body.single-post .vc_column_container:first-child {
    padding-top: 8px !important;
}

/* Rimuovi sidebar */
body.single-post .sidebar {
    display: none !important;
}
body.single-post .main-content {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* Contenuto articolo */
body.single-post #main .porto-block {
    background-color: #1a1a1a !important;
    color: #e8e0d0 !important;
}
/* Testo post — tag standard (editor classico) */
body.single-post #main p {
    color: #d0c8bc !important;
    font-size: 1.05rem !important;
    line-height: 1.8 !important;
    margin-bottom: 1.4em !important;
}
body.single-post #main h1,
body.single-post #main h2,
body.single-post #main h3,
body.single-post #main h4 {
    color: #A8B2BC !important;
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    font-size: 1.6rem !important;
    letter-spacing: 0.1em !important;
    font-weight: 400 !important;
    margin: 1.6em 0 0.5em !important;
}
body.single-post #main strong {
    color: #e8e0d0 !important;
    font-weight: 600 !important;
}
body.single-post #main a {
    color: #A8B2BC !important;
}
body.single-post #main ul li,
body.single-post #main ol li {
    color: #d0c8bc !important;
    font-size: 1.05rem !important;
    line-height: 1.8 !important;
}

/* Testo post — Porto Ultimate Heading (WPBakery) */
body.single-post #main .porto-u-heading p,
body.single-post #main .porto-u-main-heading p {
    color: #d0c8bc !important;
    font-size: 1.05rem !important;
    line-height: 1.8 !important;
    margin-bottom: 1.4em !important;
}
body.single-post #main .porto-heading-title {
    color: #A8B2BC !important;
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    letter-spacing: 0.1em !important;
    font-weight: 400 !important;
}
body.single-post #main .porto-u-heading strong,
body.single-post #main .porto-u-main-heading strong {
    color: #A8B2BC !important;
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    font-weight: 400 !important;
    font-size: 1.4rem !important;
    letter-spacing: 0.08em !important;
    display: block !important;
    margin: 1.2em 0 0.4em !important;
}

/* Meta info (data, autore) */
body.single-post .post-meta,
body.single-post .post-info,
body.single-post .entry-meta {
    color: #777 !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 4px !important;
    margin-top: 4px !important;
}
body.single-post .post-meta a,
body.single-post .entry-meta a {
    color: #A8B2BC !important;
}

/* Tag e categorie */
body.single-post .tagcloud a,
body.single-post .post-tags a {
    background: #2C3539 !important;
    color: #A8B2BC !important;
    border-color: rgba(200,169,110,0.3) !important;
}

/* Navigazione post prev/next */
body.single-post .post-navigation .nav-previous a,
body.single-post .post-navigation .nav-next a,
body.single-post .pager a {
    color: #A8B2BC !important;
}

/* Commenti */
body.single-post #comments,
body.single-post .comments-area {
    background: #2C3539 !important;
    color: #e8e0d0 !important;
    border-top: 1px solid rgba(200,169,110,0.2) !important;
    padding-top: 32px !important;
}
body.single-post .comments-title,
body.single-post .comment-reply-title {
    color: #A8B2BC !important;
    font-family: 'Bebas Neue', Impact, sans-serif !important;
}
body.single-post .comment-form input,
body.single-post .comment-form textarea {
    background: #2C3539 !important;
    border-color: rgba(200,169,110,0.2) !important;
    color: #e8e0d0 !important;
}

/* Sezione Author nel singolo post */
body.single-post .author-info,
body.single-post .post-author,
body.single-post .author-box,
body.single-post [class*="author"] {
    color: #e8e0d0 !important;
}
body.single-post .author-info h4,
body.single-post .author-info h3,
body.single-post .author-info h2,
body.single-post .post-author h4,
body.single-post .post-author h3,
body.single-post [class*="author"] h2,
body.single-post [class*="author"] h3,
body.single-post [class*="author"] h4 {
    color: #A8B2BC !important;
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    letter-spacing: 0.08em !important;
}
body.single-post [class*="author"] a,
body.single-post [class*="author"] p {
    color: #e8e0d0 !important;
}

/* Fix immagine evidenza singolo post */
body.single-post .img-thumbnail {
    background-color: #2C3539 !important;
    border-color: rgba(200,169,110,0.2) !important;
}
/* Nasconde searchform rimasto dal sidebar */
body.single-post .searchform {
    display: none !important;
}

/* PRENOTA ORA — menu mobile */
@media (max-width: 991px) {
    li.menu-prenota {
        background-color: #2C3539 !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    li.menu-prenota > a {
        background-color: #2C3539 !important;
        color: #ffffff !important;
        border-radius: 0 !important;
        padding: 12px 20px !important;
        margin: 0 !important;
        width: 100% !important;
        display: block !important;
        box-sizing: border-box !important;
    }
}

/* ============================================================
   SEZIONE BLOG HOMEPAGE
   ============================================================ */
body.home .vc_custom_1650583923490,
body.home .vc_custom_1650583923490.vc_row {
    background-color: #2C3539 !important;
}
/* Card post: wrapper principale */
body.home .vc_custom_1650583923490 .porto-tb-item > .porto-section,
body.blog .porto-tb-item > .porto-section,
body.archive.category .porto-tb-item > .porto-section {
    background: #1a1a1a !important;
    padding: 16px 20px !important;
}
/* Riga data/autore */
body.home .vc_custom_1650583923490 .porto-section.flex-container,
body.blog .porto-tb-item .porto-section.flex-container,
body.archive.category .porto-tb-item .porto-section.flex-container {
    background: #1a1a1a !important;
}
/* Titolo post */
body.home .vc_custom_1650583923490 .porto-tb-item h3,
body.home .vc_custom_1650583923490 .porto-tb-item h3 a,
body.blog .porto-tb-item h3,
body.blog .porto-tb-item h3 a,
body.archive.category .porto-tb-item h3,
body.archive.category .porto-tb-item h3 a {
    color: #A8B2BC !important;
}
/* Testo avorio: autore, data, separatori */
body.home .vc_custom_1650583923490 .porto-tb-item .porto-tb-meta,
body.home .vc_custom_1650583923490 .porto-tb-item .porto-tb-meta a,
body.home .vc_custom_1650583923490 .porto-tb-item .porto-heading span,
body.blog .porto-tb-item .porto-tb-meta,
body.blog .porto-tb-item .porto-tb-meta a,
body.blog .porto-tb-item .porto-heading span,
body.archive.category .porto-tb-item .porto-tb-meta,
body.archive.category .porto-tb-item .porto-tb-meta a {
    color: #e8e0d0 !important;
}
/* Read more */
body.home .vc_custom_1650583923490 .porto-tb-item .btn,
body.blog .porto-tb-item .btn,
body.archive.category .porto-tb-item .btn {
    color: #A8B2BC !important;
}
/* Lorem ipsum sotto titolo BLOG */
body.home .vc_custom_1650583923490 > .vc_row-full-width + div p,
body.home .vc_custom_1650583923490 p:not(.porto-tb-item p) {
    color: #b0a898 !important;
}

/* Servizi homepage — riassunto: titoli oro, testo avorio */
.sg-desc {
    color: #e8e0d0 !important;
}
.sg-desc strong {
    color: #A8B2BC !important;
    display: block;
    margin-top: 10px;
    margin-bottom: 0.25em;
    font-family: 'Bebas Neue', Impact, sans-serif;
    font-size: 1rem;
    letter-spacing: 0.06em;
    font-weight: 400;
}
.sg-desc strong:first-child {
    margin-top: 0;
}

/* Instagram block - overlay semitrasparente */
.porto-sicon-box.background-color-dark {
    background-color: rgba(33, 37, 41, 0.77) !important;
}

/* Newsletter form — placeholder leggibile e freccia bottone visibile */
.bottom-contact-input::placeholder { color: #666 !important; opacity: 1 !important; }
.bottom-contact-button,
.bottom-contact-button i,
.bottom-contact-button .Simple-Line-Icons-arrow-right { color: #ffffff !important; }

/* Offset ancore per header fisso */
[id] { scroll-margin-top: 105px; }

/* Servizi — riduce spazio tra titolo trattamento e testo */
.u21-product-description div { margin-top: 1em !important; }
.u21-product-description p { margin-bottom: 0.1em !important; margin-top: 0 !important; }
.u21-product-description p:has(strong) { margin-top: 0.7em !important; margin-bottom: 0.1em !important; }
.u21-product-description p:has(strong):first-of-type { margin-top: 0 !important; }

/* Pagina shop — testo introduttivo */
.u21-shop-intro {
    color: #e8e0d0;
    font-size: 1.05rem;
    line-height: 1.7;
    text-align: left;
    max-width: 100%;
    margin: 1.2em 0 0;
}
