/*!
Theme Name: Kadence Child — Daniele Ianna
Theme URI: https://danieleianna.com
Template: kadence
Author: Daniele Ianna
Version: 1.0.0
*/

/* ============================================
   DANIELE IANNA — SISTEMA STILI
   Questo file sostituisce il CSS personalizzato
   di Aspetto → Personalizza
   ============================================ */

/* ── VARIABILI GLOBALI ── */
:root {
  --navy:   #0e1623;
  --navy2:  #162033;
  --rosa:   #9e5563;
  --rosa-l: #c4808c;
  --sabbia: #c4a882;
  --off:    #f6f4f0;
  --warm:   #ede9e1;
  --text:   #111111;
  --muted:  #666666;
  --light:  #aaaaaa;
  --border: rgba(0,0,0,0.09);
  --fd: 'Cormorant Garamond', Georgia, serif;
  --fb: 'Jost', sans-serif;
}

/* ── BASE ── */
body {
  font-family: var(--fb);
  font-weight: 400;
  color: var(--text);
  background: var(--off);
  font-size: 17px;
  line-height: 1.75;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--fd);
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

h1 { font-size: clamp(2.8rem, 5vw, 4.5rem); }
h2 { font-size: clamp(2rem, 3.5vw, 3rem); }
h3 { font-size: 1.5rem; }

a { color: var(--rosa); transition: color 0.2s; }
a:hover { color: var(--navy); }

/* ── RIMUOVI CONTAINER BIANCO KADENCE ── */
.site-container,
.content-width-normal,
.wp-site-blocks,
.entry-content-wrap,
.content-area,
#primary,
.site-main,
main.site-main,
.entry-content {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* ── NASCONDI HERO KADENCE E TITOLI ── */
.entry-hero.page-hero-section { display: none !important; }
.entry-title, .page-title { display: none !important; }
.single-post .entry-title,
.error404 .entry-title { display: block !important; }

/* ── HEADER ── */
#masthead,
.site-header,
.kadence-sticky-header {
  background: rgba(246,244,240,0.94) !important;
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border) !important;
  box-shadow: none !important;
}

.site-header .site-header-wrap,
.site-header .kadence-header-inner,
.site-header .header-inner-wrap {
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 2.5rem !important;
  padding-right: 2.5rem !important;
}

/* Dot rosa prima del logo */
.site-branding {
  display: flex;
  align-items: center;
  gap: 12px;
}
.site-branding::before {
  content: '';
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--rosa);
  flex-shrink: 0;
  opacity: 0.9;
}

.site-title,
.site-branding .site-title a {
  font-family: var(--fd) !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  color: var(--navy) !important;
  text-decoration: none;
}

.main-navigation a,
.kadence-navigation a {
  font-family: var(--fb) !important;
  font-size: 0.72rem !important;
  font-weight: 400 !important;
  color: var(--muted) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none;
  transition: color 0.15s;
}
.main-navigation a:hover,
.kadence-navigation a:hover { color: var(--navy) !important; }

.header-button a,
.kadence-header-btn {
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 0.45rem 1.2rem !important;
  border: 1px solid var(--navy) !important;
  color: var(--navy) !important;
  background: transparent !important;
  border-radius: 0 !important;
  transition: all 0.2s;
}
.header-button a:hover,
.kadence-header-btn:hover {
  background: var(--navy) !important;
  color: var(--off) !important;
}

/* ── BOTTONI ── */
.wp-block-button__link,
.button,
button[type="submit"] {
  font-family: var(--fb) !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 0.85rem 2rem !important;
  transition: all 0.2s;
}

.wp-block-button.is-style-fill .wp-block-button__link {
  background: var(--navy) !important;
  color: var(--off) !important;
  border: none !important;
}
.wp-block-button.is-style-fill .wp-block-button__link:hover {
  background: var(--rosa) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: var(--navy) !important;
  border: 1px solid var(--navy) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--navy) !important;
  color: var(--off) !important;
}

/* ── FOOTER ── */
.site-footer,
#colophon {
  background: #080f1a !important;
  padding: 2rem 2.5rem;
}
.site-footer .site-info,
.site-footer p {
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.2);
  font-family: var(--fb);
}
.site-footer a {
  color: rgba(255,255,255,0.3);
  text-decoration: none;
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: color 0.2s;
}
.site-footer a:hover { color: rgba(255,255,255,0.7); }

/* ── ANIMAZIONE FADE IN ── */
.fade-in {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}
.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── MOBILE ── */
@media (max-width: 768px) {

  body { font-size: 16px !important; }

  /* Overflow fix */
  body, html { overflow-x: hidden !important; }
  * { box-sizing: border-box !important; }

  /* Header */
  .site-header .site-header-wrap,
  .site-header .kadence-header-inner {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .site-title,
  .site-branding .site-title a { font-size: 0.85rem !important; }
  .site-branding::before { width: 8px !important; height: 8px !important; }

  /* Hero */
  section[itemtype*="Person"] {
    padding: 72px 0 2.5rem !important;
  }
  section[itemtype*="Person"] > div { padding: 0 1.25rem !important; }
  .di-circle-hero { display: none !important; }
  .di-hero-right { display: none !important; }
  .di-mobile-photo {
    display: flex !important;
    justify-content: flex-start !important;
    margin-bottom: 1.25rem !important;
  }
  .di-mobile-photo > div {
    width: 100px !important;
    height: 100px !important;
  }
  .di-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  section[itemtype*="Person"] h1 {
    font-size: 2.4rem !important;
    line-height: 1.08 !important;
    margin-bottom: 1rem !important;
  }
  section[itemtype*="Person"] p[itemprop="description"] {
    font-size: 0.95rem !important;
    max-width: 100% !important;
    margin-bottom: 1.5rem !important;
  }

  /* Ticker */
  div[role="complementary"] { padding: 0.75rem 0 !important; overflow: hidden !important; }
  div[role="complementary"] span { padding: 0 1.25rem !important; height: 44px !important; }
  div[role="complementary"] img { max-height: 22px !important; height: auto !important; width: auto !important; }

  /* Servizi */
  section[aria-label="Servizi"] { padding: 3rem 0 !important; }
  section[aria-label="Servizi"] > div { padding: 0 1.25rem !important; }
  section[aria-label="Servizi"] h2 { font-size: 2rem !important; }
  section[aria-label="Servizi"] p[style*="line-height:1.8"] { display: none !important; }

  /* Progetti */
  #progetti { padding: 3rem 0 !important; overflow: hidden !important; }
  #progetti > div { padding: 0 1.25rem !important; }
  #progetti > div > div:first-child { display: block !important; margin-bottom: 1.5rem !important; }
  #progetti h2 { font-size: 2rem !important; white-space: normal !important; writing-mode: horizontal-tb !important; }
  #progetti > div > div:nth-child(2) { grid-template-columns: 1fr !important; display: block !important; }
  #progetti article { display: block !important; width: 100% !important; grid-column: auto !important; padding: 1.5rem !important; margin-bottom: 1px !important; min-height: auto !important; }
  #progetti h3 { font-size: 1.4rem !important; writing-mode: horizontal-tb !important; }
  #progetti article > div:last-child:not(:first-child) { display: none !important; }

  /* Footer */
  .site-footer, #colophon { padding: 1.5rem 1.25rem !important; }

}

@media (max-width: 390px) {
  section[itemtype*="Person"] h1 { font-size: 2rem !important; }
  .di-mobile-photo > div { width: 88px !important; height: 88px !important; }
}

/* ============================================
   PAGINA CHI SONO
   ============================================ */

/* Layout e spaziatura generale */
.page-chi-sono .entry-content,
.page-chi-sono .wp-block-post-content {
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 5rem 2.5rem !important;
}

/* Intro — testo più grande */
.page-chi-sono .entry-content > p:first-of-type {
  font-size: 1.15rem !important;
  line-height: 1.85 !important;
  color: #444444 !important;
  font-weight: 300 !important;
  margin-bottom: 1rem !important;
}

/* H2 — con tratto decorativo rosa */
.page-chi-sono h2 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(1.8rem, 3vw, 2.4rem) !important;
  font-weight: 300 !important;
  color: #0e1623 !important;
  margin: 3.5rem 0 1.25rem !important;
  padding-bottom: 0.75rem !important;
  border-bottom: 1px solid rgba(0,0,0,0.09) !important;
  letter-spacing: -0.01em !important;
}

/* Prima H2 — meno margine sopra */
.page-chi-sono h2:first-of-type {
  margin-top: 2.5rem !important;
}

/* Paragrafi */
.page-chi-sono p {
  font-size: 0.97rem !important;
  line-height: 1.85 !important;
  color: #555555 !important;
  font-weight: 300 !important;
  margin-bottom: 1.25rem !important;
}

/* Lista competenze */
.page-chi-sono ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 1.5rem 0 2rem !important;
}
.page-chi-sono ul li {
  font-size: 0.93rem !important;
  line-height: 1.75 !important;
  color: #555555 !important;
  font-weight: 300 !important;
  padding: 0.65rem 0 0.65rem 1.5rem !important;
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
  position: relative !important;
}
.page-chi-sono ul li::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 1.05rem !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #9e5563 !important;
  opacity: 0.7 !important;
}
.page-chi-sono ul li strong {
  color: #0e1623 !important;
  font-weight: 500 !important;
}

/* Link interni */
.page-chi-sono a {
  color: #9e5563 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(158,85,99,0.3) !important;
  transition: border-color 0.2s !important;
}
.page-chi-sono a:hover {
  border-color: #9e5563 !important;
}

/* CTA finale */
.page-chi-sono .wp-block-buttons {
  margin-top: 3rem !important;
}
.page-chi-sono .wp-block-button__link {
  background: #0e1623 !important;
  color: #f6f4f0 !important;
  border-radius: 0 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 0.9rem 2rem !important;
  border: none !important;
}
.page-chi-sono .wp-block-button__link:hover {
  background: #9e5563 !important;
}

/* Nascondi titolo automatico Kadence */
.page-chi-sono .entry-title,
.page-chi-sono .page-title {
  display: none !important;
}

/* Immagine */
.page-chi-sono .wp-block-image {
  margin-bottom: 2.5rem !important;
}
.page-chi-sono .wp-block-image img {
  display: block !important;
}

/* Mobile */
@media (max-width: 768px) {
  .page-chi-sono .entry-content,
  .page-chi-sono .wp-block-post-content {
    padding: 3rem 1.25rem !important;
  }
  .page-chi-sono h2 {
    font-size: 1.6rem !important;
  }
}
