/* Studio Falgiano — component styles */

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px;}

.eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);display:flex;align-items:center;gap:.6em;margin-bottom:1.1rem;
}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--gold);}

.btn{
  font-family:'IBM Plex Mono',monospace;font-size:.78rem;letter-spacing:.06em;
  text-transform:uppercase;padding:.85em 1.6em;border:1px solid var(--gold);
  color:var(--ink);display:inline-block;transition:.2s;white-space:nowrap;
}
.btn:hover{background:var(--gold);color:#fff;}
.btn-solid{background:var(--ink);color:#fff;border-color:var(--ink);}
.btn-solid:hover{background:var(--ink-soft);}

/* HEADER */
.site-header{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);z-index:110;}
.nav-inner{display:flex;align-items:center;gap:24px;min-height:84px;}
.primary-nav{flex:1;display:flex;justify-content:center;min-width:0;}
.site-logo{font-family:'Fraunces',serif;font-size:1.35rem;font-weight:600;color:var(--ink);display:flex;align-items:center;justify-self:start;flex-shrink:0;}
.site-logo span{color:var(--gold);}
.site-logo img,
.custom-logo{max-height:44px;width:auto;display:block;flex-shrink:0;}
.nav-actions{justify-self:end;display:flex;align-items:center;gap:14px;flex-shrink:0;}
.nav-actions .btn{white-space:nowrap;}

/* Icona hamburger vera (non testo), che diventa una X quando il menu è aperto */
.menu-toggle span,
.menu-toggle span::before,
.menu-toggle span::after{
	content:"";position:absolute;left:50%;top:50%;width:20px;height:2px;background:var(--ink);
	transform:translate(-50%,-50%);transition:.2s;
}
.menu-toggle span::before{transform:translate(-50%,-7px);}
.menu-toggle span::after{transform:translate(-50%,5px);}
.menu-toggle[aria-expanded="true"] span{background:transparent;}
.menu-toggle[aria-expanded="true"] span::before{transform:translate(-50%,-50%) rotate(45deg);}
.menu-toggle[aria-expanded="true"] span::after{transform:translate(-50%,-50%) rotate(-45deg);}
.primary-nav ul{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 2rem;font-size:.92rem;}
.primary-nav li{position:relative;}
.primary-nav a:hover{color:var(--teal);}
.primary-nav li.menu-item-has-children > a::after{content:"▾";display:inline-block;margin-left:.35em;font-size:.7em;opacity:.6;}

/* Sottomenu a tendina (desktop) */
.primary-nav .sub-menu{
  display:none;flex-direction:column;gap:0;position:absolute;top:100%;left:0;min-width:230px;
  background:var(--paper);border:1px solid var(--line);box-shadow:0 16px 32px -12px rgba(16,27,45,.18);
  padding:8px 0;z-index:70;
}
.primary-nav li:hover > .sub-menu,
.primary-nav li:focus-within > .sub-menu{display:flex;}
.primary-nav .sub-menu li{width:100%;}
.primary-nav .sub-menu a{display:block;padding:.7em 1.3em;font-size:.86rem;white-space:nowrap;}
.primary-nav .sub-menu a:hover{background:var(--paper-alt);}
.primary-nav .sub-menu li.menu-item-has-children > a::after{float:right;}
.menu-toggle{display:none;position:relative;width:44px;height:44px;padding:0;background:none;border:1px solid var(--line);flex-shrink:0;}

/* HERO */
.hero{position:relative;padding:96px 0 80px;overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;}
.hero h1{font-size:3.1rem;line-height:1.12;letter-spacing:-.01em;margin-bottom:1.4rem;}
.hero h1 em{color:var(--teal);font-style:italic;}
.hero p{color:var(--text-muted);font-size:1.08rem;max-width:46ch;margin-bottom:2.2rem;}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;}

/* LEDGER CARD — signature element, riusato anche nei widget */
.ledger{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--gold);box-shadow:0 12px 32px -16px rgba(16,27,45,.16);padding:34px 30px 26px;}
.ledger-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:6px;gap:1em;}
.ledger-head span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%;}
.ledger-head span{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);}
.ledger-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.2em 1.2em;padding:11px 0;border-bottom:1px dashed var(--line);font-size:.92rem;}
.ledger-row:last-of-type{border-bottom:none;}
.ledger-row > span:first-child{flex-shrink:0;color:var(--text-muted);}
.ledger-row .num{font-family:'IBM Plex Mono',monospace;color:var(--ink);flex:1 1 auto;min-width:0;text-align:right;word-break:break-word;}
.ledger-total{display:flex;justify-content:space-between;margin-top:10px;padding-top:14px;border-top:2px solid var(--ink);font-family:'IBM Plex Mono',monospace;font-weight:500;}
.ledger-total .num{color:var(--gold);font-size:1.15rem;}

/* STATS */
.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.stats-inner{display:grid;grid-template-columns:repeat(4,1fr);}
.stat{padding:34px 20px;text-align:center;border-left:1px solid var(--line);}
.stat:first-child{border-left:none;}
.stat .num{font-family:'IBM Plex Mono',monospace;font-size:2.1rem;color:var(--ink);display:block;}
.stat .label{font-size:.78rem;color:var(--text-muted);letter-spacing:.04em;margin-top:.3rem;}

/* SECTION GENERIC */
.section{padding:88px 0;}
.section-alt{background:var(--paper-alt);}
.section-head{max-width:640px;margin-bottom:52px;}
.section-head h2{font-size:2.15rem;}

/* SERVIZI */
.servizi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.servizio-card{background:var(--paper);padding:38px 32px;transition:.25s;border-top:3px solid transparent;}
.servizio-card:hover{border-top-color:var(--gold);background:var(--paper-alt);}
.servizio-card .idx{font-family:'IBM Plex Mono',monospace;color:var(--gold);font-size:.8rem;}
.servizio-card h3{font-size:1.3rem;margin:.6rem 0 .7rem;}
.servizio-card p{color:var(--text-muted);font-size:.94rem;margin-bottom:1.1rem;}
.servizio-card .more{font-size:.85rem;color:var(--teal);font-weight:500;}

/* SEDI (local SEO) */
.sedi-wrap{background:var(--ink);color:#fff;padding:88px 0;}
.sedi-wrap .eyebrow{color:var(--gold-soft);}
.sedi-wrap .eyebrow::before{background:var(--gold-soft);}
.sedi-wrap h2{color:#fff;}
.sedi-wrap .section-head p{color:#B7C0CC;}
.sedi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.sede-card{border:1px solid var(--line-dark);padding:30px 26px;}
.sede-card .city{font-family:'Fraunces',serif;font-size:1.2rem;margin-bottom:.5rem;}
.sede-card address{font-style:normal;color:#B7C0CC;font-size:.9rem;margin-bottom:1rem;line-height:1.7;}
.sede-card a.maplink{font-family:'IBM Plex Mono',monospace;font-size:.75rem;color:var(--gold-soft);letter-spacing:.05em;text-transform:uppercase;}

/* CHI SIAMO */
.chisiamo{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center;}
.chisiamo .photo{background:var(--paper-alt);border:1px solid var(--line);aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-family:'IBM Plex Mono',monospace;font-size:.8rem;overflow:hidden;}
.chisiamo .photo img{width:100%;height:100%;object-fit:cover;}
.chisiamo blockquote{font-family:'Fraunces',serif;font-style:italic;font-size:1.5rem;color:var(--ink);line-height:1.5;margin:1.2rem 0 1.6rem;}
.credenziali{display:flex;gap:2rem;margin-top:1.6rem;font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--text-muted);flex-wrap:wrap;}
.credenziali div{border-left:2px solid var(--gold);padding-left:.8rem;}

/* TESTIMONIANZE */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
.testi{padding:28px 0 0;border-top:1px solid var(--line);}
.testi p{font-family:'Fraunces',serif;font-style:italic;font-size:1.05rem;color:var(--ink);margin-bottom:1.2rem;}
.testi .who{font-family:'IBM Plex Mono',monospace;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;}

/* BLOG TEASER / ARCHIVE CARDS */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.post-card{border:1px solid var(--line);}
.post-card .thumb{aspect-ratio:16/10;background:var(--paper-alt);overflow:hidden;}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;}
.post-card .body{padding:24px;}
.post-card .date{font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;}
.post-card h3{font-size:1.15rem;margin:.5rem 0 .6rem;}
.post-card p{color:var(--text-muted);font-size:.92rem;}

/* CTA FINALE */
.cta-final{background:var(--teal);color:#fff;text-align:center;padding:96px 0;}
.cta-final h2{color:#fff;font-size:2.4rem;max-width:20ch;margin:0 auto 1.6rem;}
.cta-final .btn{border-color:var(--gold-soft);color:#fff;}
.cta-final .btn:hover{background:var(--gold-soft);border-color:var(--gold-soft);color:var(--ink);}

/* FOOTER */
.site-footer{background:var(--ink);color:#B7C0CC;padding:70px 0 30px;font-size:.9rem;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:50px;}
.foot-grid h4{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:1.1rem;}
.foot-grid li{margin-bottom:.6rem;}
.foot-grid a:hover{color:#fff;}
.foot-bottom{border-top:1px solid var(--line-dark);padding-top:24px;display:flex;justify-content:space-between;font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:#7C879A;flex-wrap:wrap;gap:10px;}

/* Variante ledger compatta, per il contenuto degli articoli (no rotazione) */
.entry-content .ledger,
.ledger.ledger-inline{transform:none;box-shadow:none;max-width:520px;margin:0 0 1.8em;}

/* SERVICE PAGE — layout a due colonne con sidebar sticky */
.service-layout{display:grid;grid-template-columns:1fr 320px;gap:56px;align-items:start;}
.service-main .entry-content{max-width:none;margin:0;}
.service-sidebar{position:sticky;top:104px;}
.service-sidebar .ledger{max-width:none;margin-bottom:20px;transform:none;box-shadow:0 8px 24px -12px rgba(16,27,45,.15);}
.sidebar-trust{border:1px solid var(--line);padding:24px;margin-bottom:20px;}
.sidebar-trust h4{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.9rem;}
.sidebar-trust ul{font-size:.88rem;}
.sidebar-trust li{padding:0;border-bottom:1px dashed var(--line);}
.sidebar-trust li:last-child{border-bottom:none;}
.sidebar-trust li a{display:flex;align-items:center;justify-content:space-between;padding:.6em 0;color:var(--ink);transition:.15s;}
.sidebar-trust li a::after{content:"→";color:var(--gold);opacity:0;transform:translateX(-4px);transition:.15s;}
.sidebar-trust li a:hover{color:var(--teal);}
.sidebar-trust li a:hover::after{opacity:1;transform:translateX(0);}
.sidebar-cta{background:var(--ink);color:#fff;padding:26px 24px;text-align:center;}
.sidebar-cta p{font-size:.88rem;color:#B7C0CC;margin-bottom:1rem;}
.sidebar-cta .btn{width:100%;text-align:center;border-color:var(--gold-soft);color:#fff;}
.sidebar-cta .btn:hover{background:var(--gold-soft);border-color:var(--gold-soft);color:var(--ink);}
.sidebar-phone{display:block;font-family:'IBM Plex Mono',monospace;font-size:1rem;color:#fff;margin-top:.8rem;}

/* checklist con icona spunta, alternativa ai pallini semplici */
.check-list{list-style:none !important;padding-left:0 !important;}
.check-list li{position:relative;padding-left:1.9em;margin-bottom:.7em;}
.check-list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--gold);font-family:'IBM Plex Mono',monospace;font-weight:600;border:1px solid var(--gold);width:1.3em;height:1.3em;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;}

/* mini-benefici "perché sceglierci" dentro la pagina servizio */
.benefit-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:2.4rem 0;}
.benefit-mini{border-top:2px solid var(--gold);padding-top:16px;}
.benefit-mini h4{font-family:'Fraunces',serif;font-size:1.05rem;color:var(--ink);margin-bottom:.5rem;}
.benefit-mini p{font-size:.88rem;color:var(--text-muted);}

/* citazione singola dentro pagina servizio */
.service-quote{border-left:3px solid var(--gold);padding:.2em 0 .2em 1.4em;margin:2.4rem 0;}
.service-quote p{font-family:'Fraunces',serif;font-style:italic;font-size:1.2rem;color:var(--ink);margin-bottom:.6rem;}
.service-quote .who{font-family:'IBM Plex Mono',monospace;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;}

@media(max-width:1000px){
  .service-layout{grid-template-columns:1fr;}
  .service-sidebar{position:static;}
  .benefit-mini-grid{grid-template-columns:1fr;}
}

/* WPForms — vestizione coerente col resto del sito */
.wpforms-container{margin:0 !important;}
.wpforms-container .wpforms-field{padding:0 0 22px !important;}
.wpforms-container .wpforms-field-label{
	font-family:'IBM Plex Sans',sans-serif !important;font-weight:600 !important;
	color:var(--ink) !important;font-size:.95rem !important;margin-bottom:.5em !important;
}
.wpforms-container .wpforms-field-sublabel{
	font-family:'IBM Plex Mono',monospace !important;font-size:.72rem !important;
	color:var(--text-muted) !important;text-transform:uppercase;letter-spacing:.04em;margin-top:.4em !important;
}
.wpforms-container .wpforms-required-label{color:var(--gold) !important;}

.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container input[type=tel],
.wpforms-container input[type=number],
.wpforms-container input[type=url],
.wpforms-container textarea,
.wpforms-container select{
	font-family:'IBM Plex Sans',sans-serif !important;font-size:.95rem !important;
	border:1px solid var(--line) !important;border-radius:0 !important;
	padding:.85em 1em !important;color:var(--text) !important;background:var(--paper) !important;
	width:100% !important;transition:.15s !important;box-shadow:none !important;
}
.wpforms-container input:focus,
.wpforms-container textarea:focus,
.wpforms-container select:focus{
	border-color:var(--teal) !important;outline:none !important;box-shadow:0 0 0 1px var(--teal) !important;
}
.wpforms-container textarea{min-height:140px !important;}
.wpforms-container select{
	-webkit-appearance:none !important;-moz-appearance:none !important;appearance:none !important;
	background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B8862E' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
	background-repeat:no-repeat !important;background-position:right 1em center !important;background-size:16px !important;
	padding-right:2.6em !important;cursor:pointer;
}

.wpforms-container .wpforms-field-checkbox ul li,
.wpforms-container .wpforms-field-gdpr-checkbox ul li{display:flex;align-items:flex-start;gap:.6em;}
.wpforms-container .wpforms-field-checkbox input[type=checkbox],
.wpforms-container .wpforms-field-gdpr-checkbox input[type=checkbox]{
	accent-color:var(--gold) !important;width:18px !important;height:18px !important;margin-top:.2em !important;flex-shrink:0;
}
.wpforms-container .wpforms-field-checkbox label,
.wpforms-container .wpforms-field-gdpr-checkbox label{
	font-family:'IBM Plex Sans',sans-serif !important;font-size:.88rem !important;color:var(--text-muted) !important;
}

.wpforms-container button[type=submit],
.wpforms-container input[type=submit].wpforms-submit{
	font-family:'IBM Plex Mono',monospace !important;font-size:.78rem !important;letter-spacing:.06em !important;
	text-transform:uppercase !important;padding:.9em 2em !important;
	background:var(--ink) !important;color:#fff !important;border:1px solid var(--ink) !important;
	border-radius:0 !important;transition:.2s !important;cursor:pointer;
}
.wpforms-container button[type=submit]:hover,
.wpforms-container input[type=submit].wpforms-submit:hover{background:var(--ink-soft) !important;}

.wpforms-container .wpforms-error{color:#B3261E !important;font-family:'IBM Plex Sans',sans-serif !important;font-size:.82rem !important;margin-top:.4em !important;}
.wpforms-container input.wpforms-error,
.wpforms-container textarea.wpforms-error{border-color:#B3261E !important;}
.wpforms-container .wpforms-confirmation-container-full{
	border:1px solid var(--line) !important;padding:2em !important;font-family:'IBM Plex Sans',sans-serif !important;
	color:var(--ink) !important;background:var(--paper-alt) !important;
}

.content-page{padding:70px 0;}
.article-header{max-width:760px;margin:0 auto 40px;}
.article-header h1{font-size:2.4rem;}
.article-meta{font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--text-muted);margin-top:1rem;text-transform:uppercase;letter-spacing:.05em;}
.entry-content{max-width:760px;margin:0 auto;font-size:1.05rem;}
.entry-content > *{margin-bottom:1.4em;}
.entry-content h2{font-size:1.6rem;margin-top:1.6em;}
.entry-content h3{font-size:1.3rem;margin-top:1.4em;}
.entry-content ul,.entry-content ol{padding-left:1.3em;margin-bottom:1.4em;}
.entry-content ul{list-style:disc;}
.entry-content ol{list-style:decimal;}
.entry-content li{margin-bottom:.5em;}
.entry-content li::marker{color:var(--gold);}
.entry-content blockquote{border-left:3px solid var(--gold);padding-left:1.2em;font-style:italic;color:var(--ink);}
.entry-content a{color:var(--teal);text-decoration:underline;}
.entry-content img{border:1px solid var(--line);}

/* BREADCRUMBS (SEO) */
.breadcrumbs{font-family:'IBM Plex Mono',monospace;font-size:.75rem;color:var(--text-muted);padding:20px 32px;text-transform:uppercase;letter-spacing:.03em;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;}
.breadcrumbs a:hover{color:var(--teal);}

/* SEARCH FORM */
.search-form{display:flex;gap:0;max-width:480px;}
.search-form input[type="search"]{flex:1;border:1px solid var(--line);padding:.8em 1em;}
.search-form button{background:var(--ink);color:#fff;border:1px solid var(--ink);padding:.8em 1.4em;}

/* 404 */
.error-404{text-align:center;padding:120px 0;}
.error-404 .num{font-family:'IBM Plex Mono',monospace;font-size:5rem;color:var(--gold);}

@media(max-width:900px){
  .hero-grid,.chisiamo,.servizi-grid,.sedi-grid,.testi-grid,.stats-inner,.foot-grid,.post-grid{grid-template-columns:1fr;}
  .hero h1{font-size:2.2rem;}
  .primary-nav{
    display:block;position:fixed;top:0;left:0;width:100%;height:100vh;
    background:var(--paper);transform:translateX(100%);transition:transform .3s ease;
    z-index:90;padding:104px 28px 40px;overflow-y:auto;
  }
  .primary-nav.is-open{transform:translateX(0);}
  .nav-backdrop{display:none;}
  .primary-nav ul{flex-direction:column;gap:0;}
  .primary-nav li{border-bottom:1px dashed var(--line);}
  .primary-nav li:last-child{border-bottom:none;}
  .primary-nav a{display:block;padding:1.1em 0;font-size:1.15rem;}
  .primary-nav .sub-menu{
    display:flex;position:static;flex-direction:column;background:none;border:none;box-shadow:none;
    margin:0 0 .4em 0;padding:0 0 0 1.2em;
  }
  .primary-nav .sub-menu li{border-bottom:none;}
  .primary-nav .sub-menu a{padding:.7em 0;font-size:.95rem;color:var(--text-muted);}
  .menu-toggle{display:block;}
  body.menu-open{overflow:hidden;}
  .stat{border-left:none;border-top:1px solid var(--line);}
  .stat:first-child{border-top:none;}
}
