/* ============================================================
   Danze Italia 2026 — Riallineamento globale dei contenuti
   Veste anche le pagine costruite con il page builder (WPBakery,
   WooCommerce, moduli vari) con la palette ufficiale del tema:
   rosso #B90000, vinaccio #4a0810, avorio #faf6f1, oro #c9a558.
   ============================================================ */

/* --- Banda titolo pagine interne --- */
.pageband { background:radial-gradient(120% 200% at 80% 0%, #7d1220 0%, #4a0810 50%, #2a070c 100%); color:#fff; padding:56px 0 48px; }
.pageband .crumb { font-size:12px; color:#d8a3a3; font-weight:700; margin-bottom:10px; }
.pageband .pagetitle { font-size:clamp(30px,4vw,46px); color:#fff; }
.pagebody { padding:56px 0 72px; }
.contentwrap { max-width:880px; }

/* --- Tipografia contenuti --- */
.pagebody h1, .pagebody h2, .pagebody h3,
.entry-content h1, .entry-content h2, .entry-content h3 {
  font-family:'Didot','Playfair Display','Bodoni MT',Georgia,serif; color:#1c1417; line-height:1.2;
}
.pagebody h2 { font-size:30px; margin:34px 0 14px; }
.pagebody h3 { font-size:22px; margin:26px 0 10px; }
.pagebody p, .entry-content p { line-height:1.75; color:#3d3236; margin-bottom:16px; }
.pagebody a, .entry-content a { color:#B90000; font-weight:600; }
.pagebody img { max-width:100%; height:auto; border-radius:16px; }

/* --- Bottoni: qualunque bottone del sito diventa rosso ufficiale --- */
.pagebody .button, .pagebody button, .pagebody input[type=submit],
.vc_btn3, a.vc_btn3, .vc_btn3-color-primary, .vc_btn3-color-info, .vc_btn3-color-success,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.wp-block-button__link, .elementor-button {
  background:#B90000 !important; background-image:none !important;
  color:#fff !important; border:none !important; border-radius:12px !important;
  padding:13px 26px !important; font-weight:700 !important;
  box-shadow:0 8px 22px rgba(185,0,0,.25) !important; text-decoration:none !important;
  transition:.25s !important;
}
.pagebody .button:hover, .vc_btn3:hover, .woocommerce a.button:hover, .wp-block-button__link:hover {
  background:#8a0000 !important; transform:translateY(-2px);
}

/* --- Titoli e separatori del page builder --- */
.vc_separator .vc_sep_line { border-color:#e9e0d6 !important; }
.vc_custom_heading { font-family:'Didot','Playfair Display',Georgia,serif !important; }

/* --- Tabelle, card e box informativi --- */
.pagebody table { border-collapse:collapse; width:100%; border-radius:14px; overflow:hidden; }
.pagebody table th { background:#4a0810; color:#fff; padding:12px 14px; text-align:left; }
.pagebody table td { padding:11px 14px; border-bottom:1px solid #eee4da; }

/* --- WooCommerce: prezzi, badge, messaggi --- */
.woocommerce .price, .woocommerce ins { color:#B90000 !important; }
.woocommerce-message, .woocommerce-info { border-top-color:#B90000 !important; }
.woocommerce-message::before, .woocommerce-info::before { color:#B90000 !important; }
.woocommerce span.onsale { background:#B90000 !important; }

/* --- Form --- */
.pagebody input[type=text], .pagebody input[type=email], .pagebody input[type=tel],
.pagebody input[type=password], .pagebody textarea, .pagebody select {
  border:1.5px solid #e2d8cc; border-radius:12px; padding:12px 14px; font-size:14px; width:100%;
}
.pagebody input:focus, .pagebody textarea:focus { outline:none; border-color:#B90000; }

/* --- Vecchi colori builder da neutralizzare (blu/viola dei box) --- */
[style*="background-color: #2563eb"], [style*="background: #2563eb"],
[style*="background-color: #0ea5e9"], [style*="background-color: #667eea"] {
  background:#B90000 !important;
}

/* --- Paginazione archivi --- */
.pagination .nav-links { display:flex; gap:8px; justify-content:center; }
.pagination .page-numbers { padding:10px 16px; border-radius:10px; background:#fff; border:1px solid #e9e0d6; font-weight:700; color:#1c1417; }
.pagination .page-numbers.current { background:#B90000; color:#fff; border-color:#B90000; }

/* ===== Riallineamento titoli del page builder (vince sui colori inline) ===== */
.vc_custom_heading, h1.vc_custom_heading, h2.vc_custom_heading, h3.vc_custom_heading, h4.vc_custom_heading {
  color:#1c1417 !important;
  font-family:'Didot','Playfair Display','Bodoni MT',Georgia,serif !important;
  letter-spacing:-.3px;
}
/* Se il titolo builder sta su un fondo scuro/colorato, resta bianco */
[class*="vc_row"][class*="dark"] .vc_custom_heading,
.vc_row[data-vc-full-width] .vc_custom_heading[style*="color: #fff"],
.vc_custom_heading[style*="color: #ffffff"], .vc_custom_heading[style*="color:#ffffff"],
.vc_custom_heading[style*="color: #fff"], .vc_custom_heading[style*="color:#fff"] {
  color:#ffffff !important;
}
/* Vecchi violetti/blu del sito precedente -> palette nuova */
.vc_custom_heading[style*="#b163"], .vc_custom_heading[style*="#a74a"], .vc_custom_heading[style*="#9b59b6"],
h1[style*="#b163"], h2[style*="#b163"], h3[style*="#b163"] { color:#B90000 !important; }
/* Separatori e linee decorative */
.vc_separator .vc_sep_line { border-color:#e0cfa8 !important; }
/* Link nei contenuti builder */
.wpb_text_column a { color:#B90000 !important; }

/* ===== ELEMENTOR: riallineamento moduli del vecchio sito ===== */
.elementor-heading-title {
  color:#1c1417 !important;
  font-family:'Didot','Playfair Display','Bodoni MT',Georgia,serif !important;
  letter-spacing:-.3px;
}
/* Titoli Elementor dichiarati bianchi (su fondi scuri) restano bianchi */
.elementor-heading-title[style*="#fff"],
[class*="dark"] .elementor-heading-title,
.elementor-section[data-settings*="background"] .elementor-invisible .elementor-heading-title { color:inherit !important; }
/* Vecchi viola/rosa/blu di Elementor -> palette del tema */
.elementor-widget-heading .elementor-heading-title a { color:inherit !important; }
.elementor-icon { color:#B90000 !important; }
.elementor-icon svg { fill:#B90000 !important; }
.elementor-divider-separator { border-color:#e0cfa8 !important; }
.elementor-post__title, .elementor-post__title a { color:#1c1417 !important; font-family:'Didot','Playfair Display',Georgia,serif !important; }
.elementor-post__read-more, .elementor-post-info, .elementor-post__meta-data { color:#B90000 !important; }
.elementor-post__badge { background:#B90000 !important; }
.elementor-pagination .page-numbers.current { background:#B90000 !important; color:#fff !important; }
/* Form Elementor (newsletter ecc.) */
.elementor-field-group input, .elementor-field-group textarea, .elementor-field-group select {
  border:1.5px solid #e2d8cc !important; border-radius:12px !important; padding:12px 14px !important;
}
.elementor-button, .elementor-button-content-wrapper { border-radius:12px !important; }
/* Testi dei widget */
.elementor-widget-text-editor { color:#3d3236; line-height:1.75; }
.elementor-widget-text-editor a { color:#B90000 !important; font-weight:600; }

/* ===== NEWS ELEMENTOR = stessa grafica delle card news del tema ===== */
.elementor-posts-container article.elementor-post,
.elementor-posts .elementor-post {
  background:#fff !important;
  border:1px solid #e9e0d6 !important;
  border-radius:22px !important;
  overflow:hidden !important;
  box-shadow:0 1px 3px rgba(28,20,23,.05) !important;
  transition:transform .3s ease, box-shadow .3s ease !important;
}
.elementor-posts-container article.elementor-post:hover {
  transform:translateY(-5px);
  box-shadow:0 22px 46px rgba(28,20,23,.12) !important;
}
.elementor-post__thumbnail__link { display:block !important; margin:0 !important; }
.elementor-post__thumbnail { padding-bottom:0 !important; height:180px !important; }
.elementor-post__thumbnail img { width:100% !important; height:180px !important; object-fit:cover !important; border-radius:0 !important; }
.elementor-post__text { padding:18px 22px 22px !important; }
.elementor-post__title, .elementor-post__title a {
  font-family:'Didot','Playfair Display','Bodoni MT',Georgia,serif !important;
  font-size:19px !important; font-weight:600 !important; line-height:1.3 !important;
  color:#1c1417 !important; margin:6px 0 !important;
}
.elementor-post__excerpt p { font-size:13.5px !important; color:#7a6f72 !important; line-height:1.6 !important; }
.elementor-post__meta-data { font-size:11px !important; letter-spacing:1px !important; text-transform:uppercase !important; color:#B90000 !important; font-weight:800 !important; }
.elementor-post__read-more {
  display:inline-block !important; margin-top:10px !important;
  color:#B90000 !important; font-weight:700 !important; font-size:13px !important; text-decoration:none !important;
}
.elementor-post__badge { background:#B90000 !important; border-radius:99px !important; font-weight:800 !important; }
.elementor-post__card { border-radius:22px !important; overflow:hidden !important; }

/* ===== FOOTER: testi sempre chiari sul fondo scuro ===== */
footer.site, footer.site p, footer.site div { color:#c9b4b4 !important; }
footer.site a { color:#c9b4b4 !important; font-weight:400 !important; }
footer.site a:hover { color:#ffffff !important; }
footer.site h4 { color:#ffffff !important; }
footer.site .fbottom, footer.site .fbottom div { color:#8d7376 !important; }

/* ===== TITOLI SU FONDO SCURO: bianco forzato (vince sul kit Elementor) ===== */
section.dark h2.title, .dark h2.title, .dark .sect-head h2,
.ev h3, section.dark h3,
.shopcard h2, .newslcard h2,
.appband h2.title, .appband h2,
.pass .pn, .pageband h1, .pageband .pagetitle,
.hero h1.display { color:#ffffff !important; }
.hero h1.display em { color:#f2c7c7 !important; }
/* Titoli su fondo chiaro: scuro esplicito */
h2.title, .sect-head h2 { color:#1c1417; }
section.dark h2.title { color:#ffffff !important; }
.ncard h3 { color:#1c1417 !important; }
.acard h3, .serv h3, .tcard b { color:#1c1417 !important; }

/* ===== Nascondi prodotti correlati / up-sell nelle schede prodotto ===== */
.related.products,
.up-sells.upsells.products,
.upsells.products,
section.related,
section.up-sells,
.elementor-widget-woocommerce-product-related,
.elementor-widget-wc-upsells,
.woocommerce .related,
.woocommerce .upsells {
    display:none !important;
}

/* ===== Fix: contenuto scheda prodotto che sfora nel footer (float non contenuti) ===== */
.woocommerce div.product,
div.product.type-product {
    display: flow-root !important;   /* contiene le colonne flottanti: il contenitore si allunga */
}
.woocommerce div.product::after {
    content: "";
    display: block;
    clear: both;
}
/* Sicurezza generale: le aree contenuto contengono i propri float su tutte le pagine */
.single-product .site-main,
.single-product #primary,
.single-product #content,
.woocommerce-page .site-main {
    display: flow-root;
}

/* ===== Nasconde il badge reCAPTCHA di Google (in basso a destra) ===== */
.grecaptcha-badge {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ===== Area account WooCommerce: leggibilità e spaziatura pulsanti ===== */
.woocommerce table.shop_table thead th,
.woocommerce table.shop_table th,
.woocommerce-orders-table th,
.woocommerce-MyAccount-content table th {
    background:#4a0810 !important;
    color:#ffffff !important;
}
.woocommerce table.shop_table,
.woocommerce-MyAccount-content table { background:#fff !important; }
.woocommerce table.shop_table td,
.woocommerce-orders-table td,
.woocommerce-MyAccount-content table td { color:#3d3236 !important; }
.woocommerce-orders-table__cell-order-number a,
.woocommerce-orders-table__cell a,
.woocommerce-MyAccount-content table a:not(.button) { color:#B90000 !important; font-weight:700; }
.woocommerce-MyAccount-content, .woocommerce-MyAccount-content p { color:#3d3236 !important; }
.woocommerce-MyAccount-navigation ul li a { color:#B90000 !important; }
/* Pulsanti dell'area account: spaziati e senza sovrapposizioni */
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content a.button,
.woocommerce-orders-table__cell-order-actions .button,
.woocommerce-MyAccount-paymentMethods .button {
    display:inline-block !important;
    margin:4px 6px 4px 0 !important;
    white-space:nowrap;
    vertical-align:middle;
}
.woocommerce-orders-table__cell-order-actions {
    display:flex !important; flex-wrap:wrap; gap:6px; justify-content:flex-end;
}
td.woocommerce-PaymentMethod--actions, .woocommerce-MyAccount-paymentMethods td:last-child {
    white-space:normal !important; text-align:right;
}

/* ===== Pulsante "Sfoglia prodotti" / wc-forward e bottoni nei messaggi WooCommerce ===== */
a.button.wc-forward,
.woocommerce a.button.wc-forward,
.woocommerce-info a.button,
.woocommerce-message a.button,
.woocommerce-Message a.button,
.woocommerce-notice a.button {
    background:#B90000 !important;
    background-image:none !important;
    color:#ffffff !important;
    border:none !important;
    box-shadow:0 6px 16px rgba(185,0,0,.22) !important;
}
