/**
 * Custom Color Palette - Navy + Coral
 * Opzione 5: Navy (#1E3A5F) + Coral (#FF6B6B)
 * 
 * Questo file sovrascrive le variabili CSS del tema per cambiare la palette di colori.
 * Per tornare indietro, basta rimuovere o commentare il link a questo file in header.php
 */

:root {
  /**
     @Color Override - Navy + Coral Palette
   */
  
  /* Colore primario: Navy */
  --tj-color-theme-primary: #1E3A5F;
  
  /* Colore accento: Coral */
  --tj-color-theme-accent: #FF6B6B;
  
  /* Background chiari */
  --tj-color-theme-bg: #F8F9FA;
  --tj-color-theme-bg-2: #E9ECEF;
  --tj-color-theme-bg-3: #2A3F5F;
  
  /* Colori dark */
  --tj-color-theme-dark: #0F1B2D;
  --tj-color-theme-dark-2: #1E3A5F;
  --tj-color-theme-dark-3: #2A3F5F;
  --tj-color-theme-dark-4: #3D4F6F;
  --tj-color-theme-dark-5: #4A5A7A;
  
  /* Heading e testo */
  --tj-color-heading-primary: #0F1B2D;
  --tj-color-text-body: #495057;
  --tj-color-text-body-2: #6C757D;
  --tj-color-text-body-3: #868E96;
  --tj-color-text-body-4: #1E3A5F;
  
  /* Grigi */
  --tj-color-grey-1: #F8F9FA;
  --tj-color-grey-2: #E9ECEF;
  
  /* Bordi */
  --tj-color-border-1: #DEE2E6;
  --tj-color-border-2: #2A3F5F;
  --tj-color-border-5: rgba(30, 58, 95, 0.15);
}

/**
 * Override gradienti che usano il colore primario verde
 */
.tj-primary-btn,
.tj-primary-btn:hover,
.tj-primary-btn:focus {
  background: linear-gradient(135deg, var(--tj-color-theme-primary) 0%, #2A4F7F 100%);
  border-color: var(--tj-color-theme-primary);
}

.tj-primary-btn:hover {
  background: linear-gradient(135deg, #2A4F7F 0%, var(--tj-color-theme-primary) 100%);
  box-shadow: 0 4px 15px rgba(30, 58, 95, 0.3);
}

/* Accenti coral per hover e focus su elementi interattivi */
a:hover:not(.tj-primary-btn):not(.logo),
.text-btn:hover,
button:not(.tj-primary-btn):hover {
  color: var(--tj-color-theme-accent);
}

/* Override per elementi che usano il verde acqua nei gradienti */
[style*="rgba(30, 138, 138"] {
  background: linear-gradient(-45deg, rgba(30, 58, 95, 0.3) 0%, rgba(30, 58, 95, 0) 50%, rgba(30, 58, 95, 0.3) 100%) !important;
}

/* Override per gradienti specifici trovati nel CSS */
.h5-banner-section .banner-bg::before,
.h5-service-section::before {
  background: linear-gradient(180deg, var(--tj-color-theme-primary) 0%, rgba(255, 255, 255, 0.9) 90%);
}

/* Preloader: palla e glow in blu navy (invece di verde) */
.tj-preloader .tj-preloader-ball-inner-wrap {
  background-color: var(--tj-color-theme-primary) !important;
  box-shadow: 0 4px 20px 0 rgba(30, 58, 95, 0.5) !important;
}
.tj-preloader .tj-preloader-ball-inner {
  background-color: var(--tj-color-theme-primary) !important;
  box-shadow: 0 0 12px 0 rgba(30, 58, 95, 0.5) !important;
}
.tj-preloader .tj-preloader-ball-shadow {
  background-color: rgba(30, 58, 95, 0.2) !important;
  box-shadow: 0 4px 20px 0 rgba(30, 58, 95, 0.5) !important;
}
.tj-preloader .tj-preloader-ball {
  background-color: rgba(30, 58, 95, 0.15) !important;
  box-shadow: 0 0 20px 0 rgba(30, 58, 95, 0.45) !important;
}

/* Header e menu */
.header-area {
  background-color: var(--tj-color-common-white);
}

.header-area.header-sticky {
  background-color: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(10px);
}

/* Frecce dropdown nello sticky: navy per essere visibili su sfondo bianco */
.header-sticky .mainmenu > ul > li.has-dropdown > a::after,
.header-sticky .mainmenu > ul > li.menu-item-has-children > a::after {
  color: var(--tj-color-theme-primary) !important;
  background-color: transparent !important;
}
.header-sticky .mainmenu > ul > li.has-dropdown:hover > a::after,
.header-sticky .mainmenu > ul > li.menu-item-has-children:hover > a::after,
.header-sticky .mainmenu > ul > li.current-menu-ancestor > a::after {
  color: var(--tj-color-theme-primary) !important;
  background-color: transparent !important;
}

/* Submenu: sotto la barra con piccolo gap (normale e sticky) */
.header-absolute .mainmenu ul > li > .sub-menu,
.header-sticky .mainmenu ul > li > .sub-menu {
  top: calc(100% + 1px);
}

/* Menu normale (header-absolute): hover e voce attiva in coral come nello sticky */
.header-area.header-2.header-absolute .mainmenu > ul > li:hover > a,
.header-area.header-2.header-5.header-absolute .mainmenu > ul > li:hover > a,
.header-area.header-2.header-absolute .mainmenu > ul > li.current-menu-ancestor > a,
.header-area.header-2.header-5.header-absolute .mainmenu > ul > li.current-menu-ancestor > a {
  color: var(--tj-color-theme-accent) !important;
}

/* Link nel menu: hover e voci attive (pagina corrente o categoria, es. Services) in coral */
.mainmenu ul li a:hover {
  color: var(--tj-color-theme-primary);
}
.mainmenu ul li.current-menu-item > a,
.mainmenu ul li.current-menu-ancestor > a {
  color: var(--tj-color-theme-accent) !important;
}

/* Frecce dropdown menu - BIANCHE come prima, senza contorno coral */
.mainmenu ul > li.has-dropdown > a::after,
.mainmenu ul > li.menu-item-has-children > a::after {
  color: var(--tj-color-common-white) !important;
  opacity: 1 !important;
  background-color: transparent !important;
  border: none !important;
}

/* Frecce dropdown su hover - rimangono bianche */
.mainmenu ul > li.has-dropdown:hover > a::after,
.mainmenu ul > li.menu-item-has-children:hover > a::after,
.mainmenu ul > li.current-menu-ancestor > a::after,
.mainmenu ul > li.current-menu-item > a::after {
  color: var(--tj-color-common-white) !important;
  opacity: 1 !important;
  background-color: transparent !important;
}

/* Header-2 specifico per frecce su header assoluto - bianche */
.header-2.header-absolute .mainmenu > ul > li.has-dropdown > a::after,
.header-2.header-absolute .mainmenu > ul > li.menu-item-has-children > a::after {
  color: var(--tj-color-common-white) !important;
  background-color: transparent !important;
}

.header-2.header-absolute .mainmenu > ul > li:hover > a::after,
.header-2.header-absolute .mainmenu > ul > li.current-menu-ancestor > a::after {
  color: var(--tj-color-common-white) !important;
  background-color: transparent !important;
}

/* Frecce nei submenu - colore testo normale */
.mainmenu ul > li > .sub-menu > li.has-dropdown > a::after,
.mainmenu ul > li > .sub-menu > li.menu-item-has-children > a::after {
  color: var(--tj-color-text-body) !important;
  background-color: transparent !important;
}

.mainmenu ul > li > .sub-menu > li:hover > a::after,
.mainmenu ul > li > .sub-menu > li.current-menu-item > a::after {
  color: var(--tj-color-theme-primary) !important;
  background-color: transparent !important;
}

/* Submenu */
.mainmenu .sub-menu li a:hover {
  color: var(--tj-color-theme-accent);
  background-color: rgba(30, 58, 95, 0.05);
}

/* Badge, tag e elementi di evidenziazione */
.badge,
.tag,
.categories a {
  background-color: var(--tj-color-theme-accent);
  color: var(--tj-color-common-white);
}

.categories a:hover {
  background-color: var(--tj-color-theme-primary);
}

/* Scrollbar personalizzata */
::-webkit-scrollbar-thumb {
  background-color: var(--tj-color-theme-primary);
}

::-webkit-scrollbar-thumb:hover {
  background-color: var(--tj-color-theme-accent);
}

/* Sezioni con background scuro */
.h5-working-process,
.h5-testimonial {
  background-color: var(--tj-color-theme-dark);
}

/* Testimonial: sottotitolo bianco su sfondo scuro */
.h5-testimonial .testimonial-section-subtitle {
  color: var(--tj-color-common-white) !important;
}

/* Testimonial: testo citazione (+20% rispetto al ridotto) */
.h5-testimonial .testimonial-quote-text,
.h5-testimonial .testimonial-item .desc {
  font-size: 1.1em;
  line-height: 1.6;
}

/* Testimonial: avatar perfettamente tondi (no schiacciati) */
.h5-testimonial .testimonial-author .author-img {
  width: 60px !important;
  height: 60px !important;
  min-width: 60px !important;
  min-height: 60px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  aspect-ratio: 1 / 1 !important;
}
.h5-testimonial .testimonial-author .author-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* Testimonial stars (se presenti) */
.star-ratings .fill-ratings {
  color: var(--tj-color-theme-accent);
}

/* Counter e statistiche */
.odometer,
.h5-about-counter {
  color: var(--tj-color-theme-primary);
}

/* Footer */
.footer-area {
  background-color: var(--tj-color-theme-dark);
}

.footer-area a:hover {
  color: var(--tj-color-theme-accent);
}

/* Form elements */
input:focus,
textarea:focus,
select:focus {
  border-color: var(--tj-color-theme-primary);
  box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.1);
}

/* Buttons secondari con accento coral */
.tj-secondary-btn,
.text-btn {
  color: var(--tj-color-theme-primary);
}

.tj-secondary-btn:hover,
.text-btn:hover {
  color: var(--tj-color-theme-accent);
}

/* Frecce nei bottoni - BIANCHE come prima, sfondo scuro navy invece di coral */
.tj-primary-btn .btn-icon {
  background-color: var(--tj-color-theme-dark) !important;
  border: none !important;
}

.tj-primary-btn .btn-icon i {
  color: var(--tj-color-common-white) !important;
  opacity: 1 !important;
}

.tj-primary-btn:hover .btn-icon {
  background-color: var(--tj-color-theme-dark) !important;
}

.tj-primary-btn:hover .btn-icon i {
  color: var(--tj-color-common-white) !important;
  opacity: 1 !important;
}

/* Bottoni con sfondo scuro - frecce bianche, sfondo scuro */
.tj-primary-btn.btn-dark .btn-icon {
  background-color: var(--tj-color-theme-dark) !important;
}

.tj-primary-btn.btn-dark .btn-icon i {
  color: var(--tj-color-common-white) !important;
}

/* Header button icon - sfondo scuro navy invece di coral */
.header-right-item .tj-primary-btn .btn-icon {
  background-color: var(--tj-color-theme-dark) !important;
  border: none !important;
}

.header-right-item .tj-primary-btn .btn-icon i {
  color: var(--tj-color-common-white) !important;
}

/* Bottone Preventivo in menu: margine a destra per distanziare l'intero bottone dal menu_bar (hamburger) */
.header-right .header-btn .tj-primary-btn {
  margin-right: 0.5rem;
}

/* Override per elementi con background verde acqua */
[style*="#1e8a8a"],
[style*="#d8e5e5"],
[style*="#cee0e0"] {
  background-color: var(--tj-color-theme-primary) !important;
}

/* Service items hover */
.service-item:hover {
  border-color: var(--tj-color-theme-primary);
}

.service-item:hover .service-icon {
  color: var(--tj-color-theme-accent);
}

/* Project items */
.project-item:hover {
  box-shadow: 0 10px 30px rgba(30, 58, 95, 0.15);
}

/* Box progetti (sezione "Alcuni dei Progetti") – dimensioni maggiori */
.h5-project-item-wrapper .h5-project-item {
  gap: 40px !important;
}
.h5-project-item.project-item .project-img {
  max-width: 440px !important;
  height: 360px !important;
}
.h5-project-item.project-item .project-content {
  max-width: 300px !important;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px) {
  .h5-project-item.project-item .project-img {
    height: 300px !important;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .h5-project-item.project-item .project-img {
    height: 280px !important;
  }
}

/* About: box clienti (Chi Siamo) – hover blu navy invece di verde */
.h5-client-item .client-logo::after {
  background: rgba(30, 58, 95, 0.6) !important;
}
.h5-client-item .client-logo:hover {
  background: rgba(30, 58, 95, 0.7) !important;
}

/* Chi Siamo: slider tecnologie – più distanza dal bottone Contattaci */
.h5-about .h5-tech-stack-slider {
  margin-top: 48px !important;
}

/* Chi Siamo: slider tecnologie – nessun effetto hover sui box */
.h5-tech-stack-slider .client-logo:hover {
  background: transparent !important;
  border-radius: inherit !important;
  backdrop-filter: none !important;
}
.h5-tech-stack-slider .client-logo:hover::before,
.h5-tech-stack-slider .client-logo:hover::after {
  opacity: 0 !important;
}

/* Chi Siamo: slider tecnologie – badge rettangolari (immagini o testo) */
.h5-client-item .client-logo.h5-tech-badge {
  width: auto !important;
  height: auto !important;
}
.h5-tech-badge {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px 24px !important;
  min-height: 80px !important;
  max-width: 220px !important;
  width: auto !important;
}
.h5-tech-badge img {
  max-width: 100% !important;
  max-height: 52px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
.h5-tech-badge-text {
  color: var(--tj-color-common-white) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-align: center !important;
  line-height: 1.3 !important;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .h5-tech-badge {
    min-height: 70px !important;
    max-width: 180px !important;
    padding: 12px 18px !important;
  }
  .h5-tech-badge-text {
    font-size: 12px !important;
  }
}

/* Sezione Prezzi Personalizzati: layout e testo leggibile (box bianchi) */
.pricing-info-section .h5-strategy-item {
  background-color: var(--tj-color-common-white) !important;
  background-image: none !important;
}
.pricing-info-section .h5-strategy-item::after {
  display: none !important;
}
.pricing-info-section .h5-strategy-counter-inner {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 12px;
}
.pricing-info-section .h5-strategy-counter-inner .inline-content {
  margin-bottom: 0;
}
.pricing-info-section .pricing-info-title,
.pricing-info-section .h5-strategy-title {
  color: var(--tj-color-theme-primary) !important;
  font-size: 1.2em;
  font-weight: 600;
  margin-top: 12px !important;
  margin-bottom: 0;
}
.pricing-info-section .pricing-info-desc,
.pricing-info-section .strategy-count-text {
  color: var(--tj-color-text-body) !important;
  font-size: 0.95em;
  line-height: 1.6;
  margin-top: 8px !important;
  display: block;
}
/* Allineamento a sinistra titolo, descrizione e CTA della sezione Prezzi */
.pricing-info-section .h5-strategy-heading {
  text-align: left;
}
.pricing-info-section .pricing-intro-desc {
  margin-top: 20px;
  max-width: 800px;
  margin-left: 0;
  margin-right: 0;
}
.pricing-info-section .h5-strategy-counter-inner .inline-content .tji-check,
.pricing-info-section .pricing-check-icon {
  font-size: 0.50em !important;
  color: var(--tj-color-theme-accent) !important;
}

/* Pricing boxes */
.pricing-box.active {
  border-color: var(--tj-color-theme-primary);
}

.pricing-box.active .package-name {
  color: var(--tj-color-theme-primary);
}

/* Sub-title coral (CHI SIAMO, IL NOSTRO PROCESSO, TESTIMONIANZE, ecc.) */
.sub-title-coral,
.h5-about .sub-title,
.h5-working-process .sub-title,
.h5-testimonial .sub-title {
  color: var(--tj-color-theme-accent) !important;
}

/* Icona accanto ai titolini coral: stessa coral */
.sub-title-coral i,
.sub-title-coral .tji-box,
.h5-about .sub-title i,
.h5-working-process .sub-title i,
.h5-testimonial .sub-title i {
  color: var(--tj-color-theme-accent) !important;
}

/* Titolo coral (About section) */
.title-coral,
.h5-about .sec-title.title-highlight {
  color: var(--tj-color-theme-accent) !important;
}

/* Testo About bianco per leggibilità */
.about-desc-white {
  color: rgba(255, 255, 255, 0.95) !important;
}

/* Counter About (16+) leggibile */
.h5-about-counter-readable .odometer,
.h5-about-counter-readable .h5-about-counter-symbol {
  color: var(--tj-color-common-white) !important;
}

/* Strategy/statistiche: numeri e label leggibili */
.h5-strategy-counter .count-inner .inline-content,
.h5-strategy-counter .odometer,
.h5-strategy-counter .countup-number {
  color: var(--tj-color-theme-primary) !important;
  font-weight: 700;
}

.strategy-count-text {
  color: var(--tj-color-text-body) !important;
  font-weight: 500;
}

.h5-strategy-item.h5-strategy-item-3 .count-inner .inline-content,
.h5-strategy-item.h5-strategy-item-3 .odometer,
.h5-strategy-item.h5-strategy-item-4 .count-inner .inline-content,
.h5-strategy-item.h5-strategy-item-4 .odometer {
  color: var(--tj-color-theme-primary) !important;
}

/* Box 3 statistiche: stesso stile degli altri (sfondo bianco, niente overlay) */
.h5-strategy-item-3 {
  background: var(--tj-color-common-white) !important;
  background-image: none !important;
}
.h5-strategy-item-3::after {
  display: none !important;
}
.h5-strategy-item-3 .h5-strategy-counter-inner .inline-content,
.h5-strategy-item-3 .h5-strategy-counter-inner .inline-content span,
.h5-strategy-item-3 .odometer,
.h5-strategy-item-3 .countup-number {
  color: var(--tj-color-theme-primary) !important;
}
.h5-strategy-item-3 .strategy-count-text,
.h5-strategy-item-3 .count-text {
  color: var(--tj-color-text-body) !important;
}

/* Passo 04: stessa scaletta degli altri (label in linea con 01-02-03, box in proporzione) */
.h5-working-process-wrapper {
  align-items: flex-start;
}

/* Quarto step: margin come passo 3 + stesso incremento (324+132=456), indicator tirato su per allineare "Passo 04" agli altri */
.h5-working-process-item-4,
.h5-working-process-wrapper .process-item:nth-child(4) {
  margin-top: 456px !important;
}

.h5-working-process-item-4 .h5-working-process-indicator,
.h5-working-process-wrapper .process-item:nth-child(4) .h5-working-process-indicator {
  top: -456px !important;
}

.h5-working-process-item-4 .h5-working-process-indicator::before,
.h5-working-process-item-4 .h5-working-process-indicator::after,
.h5-working-process-wrapper .process-item:nth-child(4) .h5-working-process-indicator::before,
.h5-working-process-wrapper .process-item:nth-child(4) .h5-working-process-indicator::after {
  bottom: -456px !important;
}

.h5-working-process-item-4 .h5-working-process-indicator::before,
.h5-working-process-wrapper .process-item:nth-child(4) .h5-working-process-indicator::before {
  height: 456px !important;
}

@media (max-width: 991px) {
  .h5-working-process-item-4,
  .h5-working-process-wrapper .process-item:nth-child(4) {
    margin-top: 30px !important;
  }
  .h5-working-process-item-4 .h5-working-process-indicator,
  .h5-working-process-wrapper .process-item:nth-child(4) .h5-working-process-indicator {
    top: -30px !important;
  }
  .h5-working-process-item-4 .h5-working-process-indicator::before,
  .h5-working-process-item-4 .h5-working-process-indicator::after,
  .h5-working-process-wrapper .process-item:nth-child(4) .h5-working-process-indicator::before,
  .h5-working-process-wrapper .process-item:nth-child(4) .h5-working-process-indicator::after {
    bottom: -30px !important;
  }
  .h5-working-process-item-4 .h5-working-process-indicator::before,
  .h5-working-process-wrapper .process-item:nth-child(4) .h5-working-process-indicator::before {
    height: 30px !important;
  }
}

/* Footer logo +20% */
.tj-footer-section .footer-logo img {
  max-width: 120%;
  width: auto;
  height: auto;
}

/* Footer blocco "Hai un progetto in mente?" - testo coral */
.footer-subscribe-desc-coral {
  color: var(--tj-color-theme-accent) !important;
}

/* Hero: sottotitolo, box soluzioni e + in coral */
.banner-subtitle-coral,
.solution-desc-coral,
.count-plus-coral,
.counter-label-coral,
.solution-box .list-icon,
.solution-box .list-icon i {
  color: var(--tj-color-theme-accent) !important;
}

/* Pagina Contatti: spazio tra testimonianze e footer */
.contatti-testimonials-wrap {
  margin-bottom: 4rem;
}

/* Pagine 404, Reindirizzamento, Privacy Policy, Cookie Policy, Servizi, Gestionali, FAQ, Login: banner con min-height fisso (stessa altezza pagine servizi) */
.page-404 .h5-banner-area,
.page-press .h5-banner-area,
.page-press-detail .h5-banner-area,
.page-reindirizzamento .h5-banner-area,
.page-privacy-policy .h5-banner-area,
.page-cookies-policy .h5-banner-area,
.page-service-details .h5-banner-area,
.page-faq .h5-banner-area,
.page-login .h5-banner-area,
.page-lavora-con-noi .h5-banner-area {
  min-height: 600px;
}
/* Card Lavora con noi: descrizione e punti richiesti */
.tj-careers-desc {
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--tj-color-text-body);
}
.tj-careers-desc strong,
.tj-careers-desc em { color: inherit; }
.tj-careers-points-title {
  color: var(--tj-color-theme-primary);
}
.tj-careers-points li {
  font-size: 0.9rem;
  color: var(--tj-color-text-body);
}
.page-service-details .h5-banner-content .banner-subtitle,
.page-press .h5-banner-content .banner-subtitle,
.page-press-detail .h5-banner-content .banner-subtitle {
  font-size: 1.1rem;
  font-weight: 500;
  opacity: 0.95;
  margin-top: 0.5rem;
  margin-bottom: 0;
  color: var(--tj-color-theme-accent);
}

/* H1 banner: riduzione da 96px a 75px su tutte le pagine */
.banner-title,
.h5-banner-content .banner-title,
.h4-banner-content .banner-title,
.banner-content .banner-title,
.tj-banner-section-2 .banner-content-2 .banner-title,
.h6-hero .banner-content .banner-title,
.h10-hero .banner-content-2 .banner-title {
  font-size: 75px !important;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .banner-title,
  .h5-banner-content .banner-title,
  .h4-banner-content .banner-title,
  .banner-content .banner-title,
  .tj-banner-section-2 .banner-content-2 .banner-title,
  .h6-hero .banner-content .banner-title,
  .h10-hero .banner-content-2 .banner-title {
    font-size: 66px !important;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .banner-title,
  .h5-banner-content .banner-title,
  .h4-banner-content .banner-title,
  .banner-content .banner-title,
  .tj-banner-section-2 .banner-content-2 .banner-title,
  .h6-hero .banner-content .banner-title,
  .h10-hero .banner-content-2 .banner-title {
    font-size: 62px !important;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .banner-title,
  .h5-banner-content .banner-title,
  .h4-banner-content .banner-title,
  .banner-content .banner-title,
  .tj-banner-section-2 .banner-content-2 .banner-title,
  .h6-hero .banner-content .banner-title,
  .h10-hero .banner-content-2 .banner-title {
    font-size: 51px !important;
  }
}
/* Fix sovrapposizione testo banner-subtitle con solution-box su schermi desktop piccoli e tablet */
@media only screen and (min-width: 1400px) and (max-width: 1600px) {
  .h5-banner-content .banner-subtitle {
    max-width: 65% !important;
    margin-bottom: 40px !important;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1399px) {
  .h5-banner-content .banner-subtitle {
    max-width: 65% !important;
    margin-bottom: 40px !important;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .h5-banner-content .banner-subtitle {
    max-width: 65% !important;
    margin-bottom: 50px !important;
  }
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
  .banner-title,
  .h5-banner-content .banner-title,
  .h4-banner-content .banner-title,
  .banner-content .banner-title,
  .tj-banner-section-2 .banner-content-2 .banner-title,
  .h6-hero .banner-content .banner-title,
  .h10-hero .banner-content-2 .banner-title {
    font-size: 43px !important;
  }
}
@media (max-width: 575px) {
  .banner-title,
  .h5-banner-content .banner-title,
  .h4-banner-content .banner-title,
  .banner-content .banner-title,
  .tj-banner-section-2 .banner-content-2 .banner-title,
  .h6-hero .banner-content .banner-title,
  .h10-hero .banner-content-2 .banner-title {
    font-size: 39px !important;
  }
}

/* Pagina servizi: lista benefit in una colonna (evita testi spezzati) */
.post-details-wrapper .blog-text ul.service-benefits-list {
  -webkit-columns: 1;
  -moz-columns: 1;
  columns: 1;
}
/* Fix mobile: evita spezzature di testo nelle liste TADY - versione semplificata */
@media (max-width: 767px) {
  .post-details-wrapper .blog-text ul.service-benefits-list li {
    font-size: 0.95rem;
    line-height: 1.6;
  }
}
/* Titoli categorie FAQ: centrati, più grandi, margine top maggiore, colore coral */
.faq-group-title {
  text-align: center;
  font-size: 1.5rem !important;
  font-weight: 600;
  color: #FF6B6B !important;
  margin-top: 3rem !important;
  margin-bottom: 1.5rem !important;
}
.faq-group-title:first-child {
  margin-top: 2rem !important;
}
/* Meno spazio sopra il pulsante Scrivici */
.service-cta-btn-wrap {
  margin-top: 0.75rem;
}

/* Sidebar servizi: sfondo navy (blocco Altri servizi), pulsante attivo coral */
.tj-blog-section .tj-main-sidebar .tj-sidebar-widget.service-categories {
  background-color: var(--tj-color-theme-primary);
}
.tj-blog-section .tj-main-sidebar .tj-sidebar-widget.service-categories .widget-title {
  color: #fff;
}
.tj-blog-section .tj-main-sidebar .tj-sidebar-widget.service-categories ul li a {
  background: rgba(255, 255, 255, 0.95);
}
.tj-blog-section .tj-main-sidebar .tj-sidebar-widget.service-categories ul li a:hover,
.tj-blog-section .tj-main-sidebar .tj-sidebar-widget.service-categories ul li a.active {
  background-color: var(--tj-color-theme-accent);
  color: var(--tj-color-common-white);
}
.tj-blog-section .tj-main-sidebar .tj-sidebar-widget.service-categories ul li a:hover span,
.tj-blog-section .tj-main-sidebar .tj-sidebar-widget.service-categories ul li a.active span {
  color: var(--tj-color-common-white);
}

/* Sidebar servizi: blocco CTA TADY – box interamente cliccabile verso pagina TADY, pulsante WhatsApp separato */
.tj-blog-section .tj-main-sidebar .widget-feature-item.sidebar-cta-service {
  width: 100%;
  padding: 0;
  margin-bottom: 30px;
  box-sizing: border-box;
}
.tj-blog-section .tj-main-sidebar .widget-feature-item.sidebar-cta-service .feature-box.sidebar-cta-service-box {
  width: 100% !important;
  max-width: none !important;
  cursor: pointer;
}
.tj-blog-section .tj-main-sidebar .widget-feature-item.sidebar-cta-service .title .tady-reg {
  font-size: 0.5em;
  vertical-align: 0.35em;
  opacity: 0.9;
}
.tj-blog-section .tj-main-sidebar .widget-feature-item.sidebar-cta-service .sidebar-cta-whatsapp {
  pointer-events: auto;
}
@media (max-width: 575px), (max-width: 400px) {
  .tj-blog-section .tj-main-sidebar .widget-feature-item.sidebar-cta-service .feature-box.sidebar-cta-service-box {
    max-width: none !important;
  }
}

/* Modal Preventivo – grafica in linea con il tema */
#preventivoModal .preventivo-modal-content {
  border-radius: 12px;
  border: none;
  box-shadow: 0 20px 60px rgba(30, 58, 95, 0.2);
}
#preventivoModal .modal-header {
  padding-top: 1.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
#preventivoModal .modal-title {
  color: var(--tj-color-theme-primary);
  font-weight: 700;
}
#preventivoModal .modal-body {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-bottom: 1rem;
}
#preventivoModal .modal-footer {
  padding: 1rem 1.5rem 1.5rem;
}
#preventivoModal .form-control,
#preventivoModal .form-select {
  border-radius: 8px;
  border-color: var(--tj-color-border-1);
}
/* Select Oggetto: stessa altezza degli input (native select senza nice-select) */
#preventivoModal #preventivoOggetto.form-select {
  min-height: 38px;
  height: calc(1.5em + 1.40rem + 2px);
  padding: 0.375rem 2rem 0.375rem 0.75rem;
}
#preventivoModal .form-control:focus,
#preventivoModal .form-select:focus {
  border-color: var(--tj-color-theme-primary);
  box-shadow: 0 0 0 0.2rem rgba(30, 58, 95, 0.15);
}
/* Checkbox privacy più grande e facile da cliccare */
#preventivoModal #preventivoPrivacy.form-check-input {
  width: 1.5rem;
  height: 1.5rem;
  margin-top: 0.15rem;
  cursor: pointer;
  flex-shrink: 0;
}
/* Testo accettazione privacy: margin-left per non attaccarlo alla checkbox */
#preventivoModal .form-check .form-check-label {
  margin-left: 0.5rem;
}
#preventivoModal .preventivo-modal-submit {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

/* Modal Candidatura: select Esperienza nativo (no nice-select = una sola icona), checkbox e label come preventivo */
#candidaturaModal #candidaturaEsperienza.form-select {
  min-height: 38px;
  height: calc(1.5em + 1.40rem + 2px);
  padding: 0.375rem 2rem 0.375rem 0.75rem;
}
#candidaturaModal #candidaturaPrivacy.form-check-input {
  width: 1.5rem;
  height: 1.5rem;
  margin-top: 0.15rem;
  cursor: pointer;
  flex-shrink: 0;
}
#candidaturaModal .form-check .form-check-label {
  margin-left: 0.5rem;
}

/* Pagina Contatti: checkbox privacy più grande, pulsante Invia con margin-top */
.form-check-contact-privacy .contact-privacy-checkbox.form-check-input {
  width: 1.5rem;
  height: 1.5rem;
  margin-top: 0.15rem;
  cursor: pointer;
  flex-shrink: 0;
}
/* Testo accettazione privacy: margin-left per non attaccarlo alla checkbox */
.form-check-contact-privacy .form-check-label {
  margin-left: 0.5rem;
}
.contact-form-submit-wrap {
  margin-top: 1.25rem;
}

/* Menu laterale offcanvas (menu_bar menu_offcanvas): testo più grande, logo più largo */
.tj-offcanvas-area .offcanvas-text p {
  font-size: 1.05rem;
  line-height: 1.5;
}
.tj-offcanvas-area .hamburger_logo .mobile_logo {
  max-width: 177px;
}

/* Pagina Login: shop.css ridefinisce :root con palette verde; ripristiniamo Navy + Coral sul body */
body.page-login {
  --tj-color-theme-primary: #1E3A5F;
  --tj-color-theme-accent: #FF6B6B;
  --tj-color-theme-bg: #F8F9FA;
  --tj-color-theme-bg-2: #E9ECEF;
  --tj-color-theme-bg-3: #2A3F5F;
  --tj-color-theme-dark: #0F1B2D;
  --tj-color-theme-dark-2: #1E3A5F;
  --tj-color-theme-dark-3: #2A3F5F;
  --tj-color-theme-dark-4: #3D4F6F;
  --tj-color-theme-dark-5: #4A5A7A;
  --tj-color-heading-primary: #0F1B2D;
  --tj-color-text-body: #495057;
  --tj-color-text-body-2: #6C757D;
  --tj-color-text-body-3: #868E96;
  --tj-color-text-body-4: #1E3A5F;
  --tj-color-grey-1: #F8F9FA;
  --tj-color-grey-2: #E9ECEF;
  --tj-color-border-1: #DEE2E6;
  --tj-color-border-2: #2A3F5F;
  --tj-color-border-5: rgba(30, 58, 95, 0.15);
}

/* Pagina TADY® Gestionale ristorazione: tema arancio TADY #c88a02, accento bianco */
body.page-tady-gestionale {
  --tj-color-theme-primary: #c88a02;
  --tj-color-theme-accent: #ffffff;
  --tj-color-theme-bg: #FFFBF5;
  --tj-color-theme-bg-2: #F5EDE0;
  --tj-color-theme-bg-3: #c88a02;
  --tj-color-theme-dark: #2d2200;
  --tj-color-theme-dark-2: #5c4500;
  --tj-color-theme-dark-3: #8a6802;
  --tj-color-theme-dark-4: #a67a02;
  --tj-color-theme-dark-5: #c88a02;
  --tj-color-heading-primary: #2d2200;
  --tj-color-text-body: #3d3500;
  --tj-color-text-body-2: #5c5000;
  --tj-color-text-body-3: #6a5c00;
  --tj-color-text-body-4: #5c4500;
  --tj-color-grey-1: #FFFBF5;
  --tj-color-grey-2: #F5EDE0;
  --tj-color-border-1: #E8DCC8;
  --tj-color-border-2: #c88a02;
  --tj-color-border-5: rgba(200, 138, 2, 0.2);
}

/* Banner pagina TADY: h2 in immagine principale nero (tema chiaro) */
body.page-tady-gestionale .h5-banner-section .banner-subtitle {
  color: #000 !important;
}

/* Footer pagina TADY: testo "Da oltre X anni sviluppiamo..." bianco per leggibilità */
body.page-tady-gestionale .tj-footer-section .footer-col-1 .footer-text p {
  color: #fff !important;
}

body.page-tady-gestionale .tj-primary-btn {
  background: linear-gradient(135deg, #c88a02 0%, #a67a02 100%);
  border-color: #c88a02;
  color: #fff;
}
body.page-tady-gestionale .tj-primary-btn:hover {
  background: linear-gradient(135deg, #a67a02 0%, #c88a02 100%);
  box-shadow: 0 4px 15px rgba(200, 138, 2, 0.35);
  color: #fff;
}
body.page-tady-gestionale .tj-blog-section .tj-main-sidebar .tj-sidebar-widget.service-categories {
  background-color: var(--tj-color-theme-primary);
}
body.page-tady-gestionale .tj-blog-section .tj-main-sidebar .tj-sidebar-widget.service-categories ul li a:hover,
body.page-tady-gestionale .tj-blog-section .tj-main-sidebar .tj-sidebar-widget.service-categories ul li a.active {
  background-color: var(--tj-color-theme-accent);
  color: #2d2200;
}

/* Menu sticky pagina TADY: "Gestionali" (current-menu-ancestor) visibile su sfondo bianco */
body.page-tady-gestionale .header-sticky .mainmenu ul li.current-menu-ancestor > a {
  color: #c88a02 !important;
}
body.page-tady-gestionale .header-sticky .mainmenu ul li.current-menu-ancestor > a::after {
  color: #c88a02 !important;
  background-color: transparent !important;
}

/* Blocco Parlano di noi – pagina TADY */
body.page-tady-gestionale .tj-parlano-di-noi {
  margin: 2.5rem 0;
  padding: 0;
}
body.page-tady-gestionale .tj-parlano-di-noi .title {
  margin-bottom: 1.25rem;
  color: var(--tj-color-theme-primary);
}
body.page-tady-gestionale .parlano-card {
  background: linear-gradient(135deg, rgba(200, 138, 2, 0.08) 0%, rgba(245, 237, 224, 0.95) 100%);
  border: 1px solid rgba(200, 138, 2, 0.25);
  border-radius: 12px;
  padding: 1.75rem 2rem;
  box-shadow: 0 4px 20px rgba(200, 138, 2, 0.08);
}
body.page-tady-gestionale .parlano-source {
  font-size: 0.9rem;
  color: var(--tj-color-text-body-2);
  margin-bottom: 0.5rem;
}
body.page-tady-gestionale .parlano-article {
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--tj-color-heading-primary);
  margin-bottom: 0.75rem;
  line-height: 1.35;
}
body.page-tady-gestionale .parlano-excerpt {
  color: var(--tj-color-text-body);
  margin-bottom: 1rem;
  line-height: 1.6;
}
body.page-tady-gestionale .parlano-quote {
  border-left: 4px solid var(--tj-color-theme-primary);
  padding: 0.75rem 0 0.75rem 1.25rem;
  margin: 1rem 0;
  font-style: italic;
  color: var(--tj-color-theme-dark-2);
  background: rgba(255, 255, 255, 0.6);
  border-radius: 0 8px 8px 0;
}
body.page-tady-gestionale .parlano-link-wrap {
  margin-top: 1.25rem;
  margin-bottom: 0;
}
body.page-tady-gestionale .parlano-link-wrap .tj-primary-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

/* Fix layout autore articolo: immagine accanto a "Scritto da" come icona calendario */
.blog-category-two .category-item {
  flex-direction: row !important;
  align-items: flex-start !important;
  width: 50% !important;
}
.blog-category-two .category-item .cate-images {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-right: 10px;
  vertical-align: top;
}
.blog-category-two .category-item .cate-text {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Testo coral (accento): usato in CTA footer, banner, contatti. Senza inline style così l’accessibilità può sovrascrivere in contrasto elevato. */
.text-coral {
  color: var(--tj-color-theme-accent);
}

/* Footer CTA: forzare coral in default (il tema può sovrascrivere .text-coral con selettori più specifici) */
.h5-footer-subscribe .text-coral,
.footer-subscribe .text-coral {
  color: var(--tj-color-theme-accent) !important;
}
