/*
Theme Name: Ceremonialis
Theme URI: https://www.ceremonialis.it/
Author: C&C Sistemi S.r.l.
Description: Tema vetrina leggero per Ceremonialis.
Version: 1.8.2
Text Domain: ceremonialis
*/

:root { --ink:#102333; --muted:#5e7080; --blue:#0d6efd; --pale:#f3f7fb; --line:#dce5ec; --white:#fff; --gold:#c8a45d; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--white); font-family: "DM Sans", "Segoe UI", sans-serif; font-size:16px; line-height:1.6; }
a { color:var(--blue); }
.site-header { background:var(--white); border-bottom:1px solid var(--line); }
.header-main { width:min(1180px, calc(100% - 40px)); min-height:86px; margin:auto; display:flex; align-items:center; gap:32px; }
.brand { display:flex; align-items:center; flex:0 0 auto; }
.brand img { display:block; width:200px; height:auto; }
.primary-nav { flex:1; display:flex; justify-content:center; }
.primary-nav ul { display:flex; align-items:center; gap:28px; list-style:none; margin:0; padding:0; }
.primary-nav a { color:var(--ink); text-decoration:none; font-size:15px; font-weight:600; }
.primary-nav a:hover, .primary-nav .current-menu-item a { color:var(--blue); }
.header-cta { flex:0 0 auto; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 20px; border-radius:5px; background:var(--blue); color:var(--white); font-weight:700; text-decoration:none; border:1px solid var(--blue); }
.button:hover { background:#0959cf; color:var(--white); }
.site-main { overflow:hidden; }
.hero { min-height:660px; display:flex; align-items:center; background:linear-gradient(90deg, rgba(16,35,51,.94) 0%, rgba(16,35,51,.78) 43%, rgba(16,35,51,.18) 100%), url("https://www.ceremonialis.it/wp-content/uploads/sites/42/2026/08/ceremonialis-home_chiara-scaled.jpg") center/cover no-repeat; }
.hero-inner { width:min(1180px, calc(100% - 40px)); margin:auto; padding:100px 0; }
.hero-copy { max-width:670px; color:var(--white); }
.eyebrow { margin:0 0 18px; color:#8ec0ff; font-size:13px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
h1,h2,h3 { margin:0 0 18px; line-height:1.1; letter-spacing:0; }
h1 { font-size:clamp(42px, 5vw, 72px); }
h2 { font-size:clamp(30px, 3vw, 46px); }
h3 { font-size:21px; }
.hero p:not(.eyebrow) { max-width:590px; margin:0 0 28px; color:#e3edf5; font-size:19px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.button-outline { background:transparent; border-color:rgba(255,255,255,.75); }
.button-outline:hover { background:var(--white); color:var(--ink); }
.pill-list { display:flex; flex-wrap:wrap; gap:10px 18px; margin:34px 0 0; padding:0; list-style:none; color:#c3d9ed; font-size:14px; }
.section { padding:88px 20px; }
.section-inner { width:min(1180px, 100%); margin:auto; }
.section-intro { max-width:720px; margin-bottom:38px; }
.section-kicker { margin:0 0 12px; color:var(--blue) !important; font-size:13px !important; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.new-badge { display:inline-block; margin-right:8px; padding:4px 8px; border-radius:3px; background:#e4573d; color:var(--white); font-size:11px; letter-spacing:.08em; vertical-align:2px; }
.section-intro p, .prose p { color:var(--muted); font-size:18px; }
.section-soft { background:var(--pale); }
.grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
.card { padding:28px; background:var(--white); border:1px solid var(--line); border-top:4px solid var(--blue); }
.card-mark, .feature-mark { display:flex; align-items:center; justify-content:center; width:52px; height:52px; margin-bottom:22px; border-radius:14px; background:#e8f1ff; color:var(--blue); }
.card-mark svg, .feature-mark svg { width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.mark-event { background:#e9f8f3; color:#16866a; }
.mark-welcome { background:#fff5df; color:#b57911; }
.mark-person { background:#e9f8f3; color:#16866a; }
.mark-seats { background:#f0edff; color:#6758b8; }
.mark-invite { background:#fff0ed; color:#c45745; }
.mark-equipment { background:#edf2f7; color:#3c607b; }
.card p { margin:0; color:var(--muted); }
.feature-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; }
.feature { padding:24px; background:var(--pale); border:1px solid transparent; }
.feature h3 { margin-bottom:10px; }
.feature-mark { width:46px; height:46px; margin-bottom:18px; border-radius:12px; }
.feature-grid-large { grid-template-columns:repeat(2, 1fr); gap:24px; }
.feature-grid-large .feature { padding:34px; min-height:240px; }
.feature-grid-large .feature { cursor:pointer; }
.feature-grid-large h2 { font-size:26px; }
.page-lead { max-width:700px; margin:0; color:var(--muted); font-size:20px; }
.split-callout { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.split-callout > p { margin:0; color:var(--muted); font-size:19px; }
.audience-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:20px; }
.audience-card { position:relative; padding:32px; background:var(--white); border:1px solid var(--line); }
.audience-card::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--blue); }
.audience-number { display:block; margin-bottom:18px; color:var(--blue); font-size:14px; font-weight:800; letter-spacing:.12em; }
.audience-card h3 { font-size:24px; }
.audience-card p { margin:0; color:var(--muted); }
.showcase { padding:92px 20px; background:var(--white); }
.showcase .section-inner { display:grid; grid-template-columns: .8fr 1.2fr; align-items:center; gap:72px; }
.showcase-reverse { background:var(--pale); }
.showcase-copy h2 { font-size:clamp(30px, 3vw, 44px); }
.showcase-copy > p:not(.section-kicker) { color:var(--muted); font-size:18px; }
.showcase-image { padding:12px; background:var(--white); border:1px solid var(--line); box-shadow:0 16px 40px rgba(16,35,51,.12); }
.showcase-image img { display:block; width:100%; height:auto; }
.feature:hover { border-color:var(--line); background:var(--white); }
.feature-grid a.feature { color:inherit; text-decoration:none; }
.feature-grid a.feature::after { content:"Scopri di pi\00f9 >"; display:block; margin-top:18px; color:var(--blue); font-size:14px; font-weight:700; }
.steps { display:grid; grid-template-columns:repeat(3, 1fr); gap:28px; counter-reset:step; }
.step { position:relative; padding-top:56px; }
.step::before { counter-increment:step; content:counter(step, decimal-leading-zero); position:absolute; top:0; left:0; color:var(--blue); font-size:28px; font-weight:800; }
.tech-band { background:var(--ink); color:var(--white); }
.tech-band p { color:#c7d5df; max-width:720px; }
.tech-list { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.tech-list span { padding:8px 14px; border:1px solid rgba(255,255,255,.3); border-radius:3px; color:#e5eef5; font-size:14px; }
.acn-section { padding:64px 20px; background:#eaf4ff; border-top:1px solid #d3e6fa; border-bottom:1px solid #d3e6fa; }
.acn-section .section-inner { display:grid; grid-template-columns:92px 1fr; gap:28px; align-items:center; max-width:900px; }
.acn-badge { display:flex; align-items:center; justify-content:center; width:78px; height:78px; border:2px solid var(--blue); border-radius:50%; color:var(--blue); font-size:20px; font-weight:800; letter-spacing:.04em; }
.acn-section h2 { margin-bottom:10px; }
.acn-section p:not(.section-kicker) { max-width:760px; margin:0 0 12px; color:var(--muted); font-size:17px; }
.acn-link { font-weight:700; text-decoration:none; }
.normative-note { padding:68px 20px; background:#fffaf0; border-top:1px solid #f0dfb5; border-bottom:1px solid #f0dfb5; }
.normative-note .section-inner { max-width:900px; }
.normative-note h2 { max-width:780px; font-size:clamp(28px, 3vw, 42px); }
.normative-note p:not(.section-kicker) { max-width:860px; color:var(--muted); font-size:17px; }
.normative-caption { font-size:14px !important; font-style:italic; }
.contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:start; }
.contact-copy h2 { font-size:clamp(30px, 3vw, 44px); }
.contact-copy > p:not(.section-kicker) { color:var(--muted); font-size:18px; }
.contact-form-wrap { padding:34px; background:var(--pale); border:1px solid var(--line); }
.contact-form { display:grid; gap:9px; }
.contact-form label { color:var(--ink); font-weight:700; font-size:14px; }
.contact-form label span { color:#c45745; }
.contact-form input[type="text"], .contact-form input[type="email"], .contact-form input[type="tel"], .contact-form textarea { width:100%; margin:0 0 12px; padding:12px 13px; border:1px solid #c9d5df; border-radius:3px; background:var(--white); color:var(--ink); font:inherit; }
.contact-form textarea { resize:vertical; }
.contact-form input:focus, .contact-form textarea:focus { outline:2px solid rgba(13,110,253,.22); border-color:var(--blue); }
.form-check { display:flex; align-items:flex-start; gap:9px; margin:4px 0 16px; font-weight:400 !important; color:var(--muted) !important; }
.form-check input { flex:0 0 auto; margin-top:5px; }
.form-check a { color:var(--blue); }
.form-notice { margin:0 0 22px; padding:12px 14px; border-left:4px solid; font-weight:700; }
.form-success { border-color:#16866a; background:#e9f8f3; color:#11664f; }
.form-error { border-color:#c45745; background:#fff0ed; color:#9f3e2f; }
.form-honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.cta { padding:86px 20px; text-align:center; background:var(--blue); color:var(--white); }
.cta h2 { color:var(--white); }
.cta p { margin:0 auto 26px; color:#e6f0ff; font-size:18px; }
.cta .button { background:var(--white); color:var(--blue); border-color:var(--white); }
.page-hero { padding:90px 20px 58px; background:var(--pale); border-bottom:1px solid var(--line); }
.page-hero-inner { width:min(1180px, 100%); margin:auto; }
.page-hero h1 { max-width:800px; font-size:clamp(38px, 5vw, 64px); }
.page-content { width:min(880px, calc(100% - 40px)); margin:auto; padding:70px 0 100px; }
.page-content h2 { margin-top:48px; }
.site-footer { padding:34px 20px; background:#0b1823; color:#b8c8d4; font-size:14px; }
.footer-inner { width:min(1180px, 100%); margin:auto; display:flex; justify-content:space-between; align-items:center; gap:32px; }
.footer-credit { display:flex; align-items:center; gap:16px; max-width:760px; }
.footer-credit img { width:72px; height:auto; display:block; }
.footer-credit p { margin:0; }
.footer-inner a { color:#dcecff; }
.footer-contact { display:flex; flex-direction:column; align-items:flex-end; gap:6px; white-space:nowrap; }
.footer-contact span { color:#8fa5b5; font-size:13px; }
@media (max-width:800px) { .header-main { min-height:74px; gap:16px; } .brand img { width:168px; } .primary-nav { display:none; } .header-cta { margin-left:auto; } .header-cta .button { min-height:40px; padding:8px 14px; font-size:14px; } .hero { min-height:620px; } .hero-inner { padding:76px 0; } .hero p:not(.eyebrow) { font-size:17px; } .grid,.feature-grid,.feature-grid-large,.steps,.audience-grid { grid-template-columns:1fr; } .section { padding:64px 20px; } .showcase { padding:64px 20px; } .showcase .section-inner { grid-template-columns:1fr; gap:28px; } .acn-section .section-inner { grid-template-columns:1fr; gap:18px; } .contact-layout { grid-template-columns:1fr; gap:32px; } .contact-form-wrap { padding:24px; } .split-callout { grid-template-columns:1fr; gap:20px; } .footer-inner,.footer-credit { flex-direction:column; align-items:flex-start; } .footer-contact { align-items:flex-start; } }
