@charset "UTF-8";

/*
@copyright: CAFFEINAPURA Srls Unipersonale - All right reserved
Version: 2026.01 - 2026-06-22 00:00
Author: Roberto Cheli
Pagina: /contatti — eredita token, nav, footer, btn da base.css
*/

/* ── Hero ── */
.ct-hero{background:var(--hero-bg);padding:var(--hero-pad-t) var(--gutter) var(--hero-pad-b);position:relative;overflow:hidden;}
.ct-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 90% at 25% 50%,var(--g700) 0%,transparent 62%);pointer-events:none;}
.ct-hero-in{max-width:1100px;margin:0 auto;position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
@media(max-width:768px){.ct-hero-in{grid-template-columns:1fr;gap:36px;}}
.ct-hero-eye{display:inline-flex;align-items:center;gap:7px;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--g300);margin-bottom:18px;}
.ct-hero-eye::before{content:'';width:18px;height:1px;background:var(--g500);}
h1.ct-hero-h{font-family:var(--ff-d);font-size:clamp(2.2rem,4.5vw,3.2rem);font-weight:600;color:#fff;line-height:1.1;letter-spacing:-.03em;margin-bottom:16px;}
h1.ct-hero-h em{font-style:italic;color:var(--g200);}
.ct-hero-sub{font-size:1rem;color:rgba(255,255,255,.5);line-height:1.8;}

.ct-canali{display:flex;flex-direction:column;gap:12px;}
.ct-canale{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-l);text-decoration:none;transition:all var(--ease);}
.ct-canale:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.18);}
.ct-canale-ic{width:34px;height:34px;border-radius:var(--r);background:rgba(255,255,255,.08);color:var(--g200);display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0;}
.ct-canale-t{font-size:.8rem;font-weight:700;color:#fff;margin-bottom:3px;}
.ct-canale-v{font-size:.82rem;color:var(--g200);}
.ct-canale-n{font-size:.7rem;color:rgba(255,255,255,.4);margin-top:2px;}

/* ── Layout form + sidebar ── */
.ct-layout{max-width:1100px;margin:0 auto;padding:56px var(--gutter) 72px;display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:start;}
@media(max-width:900px){.ct-layout{grid-template-columns:1fr;gap:32px;}}

/* ── Form ── */
.ct-form-wrap{background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);padding:36px;}
.ct-form-t{font-family:var(--ff-d);font-size:1.5rem;font-weight:600;color:var(--g800);margin-bottom:6px;}
.ct-form-sub{font-size:.875rem;color:var(--t500);margin-bottom:28px;}
.ct-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}

.ct-toast{border-radius:var(--r);padding:16px 18px;display:flex;align-items:flex-start;gap:12px;margin-bottom:24px;}
.ct-toast.ok{background:var(--g50);border:1px solid var(--g100);border-left:4px solid var(--g500);}
.ct-toast.err{background:#fdf4f4;border:1px solid #f0c4c4;border-left:4px solid #c0392b;}
.ct-toast i{font-size:1rem;flex-shrink:0;margin-top:.1rem;}
.ct-toast.ok i{color:var(--g500);}
.ct-toast.err i{color:#c0392b;}
.ct-toast-tx{font-size:.875rem;color:var(--t700);line-height:1.6;}

.ct-topics{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:28px;}
.ct-topic{display:flex;align-items:center;gap:8px;font-family:var(--ff-b);font-size:.78rem;font-weight:600;color:var(--t500);background:var(--bg);border:1.5px solid var(--border);border-radius:var(--r);padding:.65rem .85rem;cursor:pointer;transition:all var(--ease);text-align:left;}
.ct-topic i{font-size:.75rem;color:var(--t300);flex-shrink:0;}
.ct-topic:hover{border-color:var(--g400);color:var(--g700);background:var(--g50);}
.ct-topic.active{border-color:var(--g500);background:var(--g50);color:var(--g800);}
.ct-topic.active i{color:var(--g500);}

.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:500px){.ct-grid{grid-template-columns:1fr;}}
.ct-field{display:flex;flex-direction:column;gap:6px;}
.ct-field.full{grid-column:1/-1;}
.ct-label{font-size:.75rem;font-weight:700;letter-spacing:.04em;color:var(--t700);}
.ct-req{color:#c0392b;margin-left:2px;}
.ct-input,.ct-textarea{font-family:var(--ff-b);font-size:.9rem;color:var(--t900);background:var(--bg);border:1.5px solid var(--border-2);border-radius:var(--r);padding:.75rem .95rem;outline:none;transition:border-color var(--ease),background var(--ease);width:100%;}
.ct-input:focus,.ct-textarea:focus{border-color:var(--g500);background:var(--white);}
.ct-input.error,.ct-textarea.error{border-color:#c0392b;}
.ct-textarea{resize:vertical;min-height:140px;}
.ct-field-err{font-size:.72rem;color:#c0392b;margin-top:4px;}

.ct-submit{font-family:var(--ff-b);background:var(--g500);color:#fff;font-size:.85rem;font-weight:700;letter-spacing:.04em;padding:.9rem 2rem;border-radius:var(--r);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background var(--ease);width:100%;margin-top:24px;}
.ct-submit:hover{background:var(--g600);}
@keyframes ct-spin{to{transform:rotate(360deg);}}
.ct-spinner{display:none;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:ct-spin .7s linear infinite;}
.ct-submit.loading .ct-spinner{display:block;}
.ct-submit.loading .ct-submit-lbl{display:none;}
.ct-privacy{font-size:.72rem;color:var(--t300);margin-top:12px;text-align:center;}
.ct-privacy a{color:var(--g600);}

/* ── Sidebar ── */
.ct-sidebar{display:flex;flex-direction:column;gap:18px;}
.ct-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-l);padding:24px;}
.ct-card-t{font-family:var(--ff-d);font-size:1rem;font-weight:600;color:var(--g800);margin-bottom:16px;}
.ct-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;}
.ct-row:last-child{margin-bottom:0;}
.ct-row-ic{width:28px;height:28px;border-radius:var(--r-s);background:var(--g50);color:var(--g600);display:flex;align-items:center;justify-content:center;font-size:.72rem;flex-shrink:0;margin-top:2px;}
.ct-row-l{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--t300);margin-bottom:3px;}
.ct-row-v{font-size:.855rem;color:var(--t700);line-height:1.5;}
.ct-row-v a{color:var(--g600);text-decoration:none;}
.ct-row-v a:hover{text-decoration:underline;}
.ct-social{display:flex;gap:9px;flex-wrap:wrap;}
.ct-social-btn{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:600;color:var(--t500);background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:.5rem .85rem;text-decoration:none;transition:all var(--ease);}
.ct-social-btn:hover{border-color:var(--g400);color:var(--g700);background:var(--g50);}
.ct-card-cta{background:var(--g50);border-color:var(--g100);}
.ct-card-p{font-size:.875rem;color:var(--t500);line-height:1.65;margin-bottom:16px;}
.ct-card-btn{display:block;text-align:center;background:var(--g800);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.04em;padding:.75rem 1rem;border-radius:var(--r);text-decoration:none;transition:background var(--ease);}
.ct-card-btn:hover{background:var(--g900);}
