/* =========================
   Variabili
========================= */
:root{
  --bg:#0e0f12;
  --card:#15171c;
  --muted:#FFF;
  --text:#e7eaf0;
  --brand:#eab308;
  --brand-2:#f97316;
  --ok:#22c55e;
  --danger:#ef4444;
  --ring:rgba(234,179,8,.35);
  --maxw:1100px;
  --narrow:820px;
  --radius-lg:18px;
  --radius-md:14px;
  --border:#c1c1c1;
}

/* =========================
   Layout base
========================= */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0}
.wrap-narrow{max-width:var(--narrow);margin:0 auto}
.center{display:flex;justify-content:center;align-items:center}
.center-block{margin-left:auto;margin-right:auto}
.cta-row{display:flex;justify-content:center;gap:10px}

/* =========================
   Tipografia & bottoni
========================= */
.page_type_partner .page-listing .btn{
  appearance:none;border:none;border-radius:12px;
  padding:12px 18px;font-weight:700;font-size:20px;cursor:pointer;
  color:#FFF;background:linear-gradient(135deg,#000,#000);
  box-shadow:0 8px 18px rgba(250,204,21,.23);
  transition:transform .15s ease, box-shadow .15s ease;
}
.page_type_partner .page-listing .btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(250,204,21,.25)}
.page_type_partner .page-listing .btn.secondary{background:#000;color:#FFF;border:1px solid #2d3342;box-shadow:none}
.page_type_partner .page-listing .btn[disabled]{opacity:.65;cursor:not-allowed}
.page_type_partner .page-listing .btn-center{display:inline-flex;gap:8px;align-items:center;justify-content:center}

/* =========================
   Headings e testi centrati
========================= */
.card h2, section h2{margin-top:0;text-align:center}
.page-content h2{margin-top:15px;text-align:center !important}
.hero h2{margin-top:6px;text-align:center}
.hero p.muted,
#profili > p,
#geo-blocco > p{max-width:900px;margin:8px auto 18px;text-align:center}

/* =========================
   HERO
========================= */
.page_type_partner .hero{padding:5px 0 10px;border-bottom:1px solid #c1c1c1}
.hero .wrap{display:grid;grid-template-columns:1fr;gap:28px}

/* =========================
   KPI
========================= */
.kpis{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}
.kpi{background:#000;padding:14px 16px;border-radius:14px;border:1px solid var(--border);min-width:180px}
.kpi .label{color:var(--muted);font-size:1.55rem}
.kpi .value{font-size:1.35rem;font-weight:800;color:#FFF}

/* =========================
   Card & componenti
========================= */
.card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;margin:15px 0}
.muted{color:var(--muted)}
.small{font-size:1.25rem}
.badge{
  color:#000;background:#f0f0f0;border:1px solid #c1c1c1;
  display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px
}

/* =========================
   Griglia collaboratori
========================= */
.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:14px}
.profile{
  display:flex;gap:12px;align-items:flex-start;padding:16px;
  border:1px solid #2a3040;border-radius:16px;background:#000;
  position:relative;overflow:hidden;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.profile::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 0 rgba(234,179,8,0);transition:box-shadow .15s ease}
.profile:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.25);border-color:#343b4f}
.profile:hover::after{box-shadow:0 0 0 2px var(--ring)}
.profile i{font-size:22px;color:var(--brand);flex:0 0 28px;line-height:55px}
.profile .tag{
  display:inline-block;margin-top:6px;font-size:1.2rem;color:#d1d6e3;
  background:#3d3d3d;border:1px solid #2f3850;padding:4px 8px;border-radius:999px
}

/* =========================
   FAQ
========================= */
.faq details{border:1px solid #c1c1c1;border-radius:12px;padding:12px;margin-top:10px;background:#fefad9}
.faq details summary{font-weight:800}

/* =========================
   Form
========================= */
.form-group {
    margin-bottom: 0px;
}
.form-section{padding:22px}
.form-horizontal{background:#fefad9 !important}
.form-shell{border:1px solid var(--border);border-radius:18px;padding:30px;background:#fefad9 !important}
.form-shell .green{color:green;}
form{display:flex;flex-direction:column;gap:14px}
label{font-weight:700}
input,select,textarea{
  width:100%;padding:10px 12px;border-radius:12px;border:1px solid #2b3141;color:var(--text);
  transition:border-color .15s ease, box-shadow .15s ease
}
input:focus,select:focus,textarea:focus{outline:none;border-color:#3b4257;box-shadow:0 0 0 3px var(--ring)}
.checkbox input[type=checkbox]{width:20px}
#result .alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px;font-size:16px}
#result .success{color:#3c763d;background:#dff0d8;border-color:#d6e9c6}
#result .error{color:#a94442;background:#f2dede;border-color:#ebccd1}
.captcha-input{height:34px;padding:6px 12px;font-size:14px;border:1px solid #ccc;border-radius:4px;width:100px;color:#000}
.captcha{color:red;font-size:17px;padding:0 10px}
.text-center{display:flex;justify-content:center}
.btn-block{width:auto} /* evita fullwidth per il submit */

/* =========================
   CASE: alternanza sottosezioni
========================= */
#case.card{padding:18px}
#case > section{
  position:relative;
  margin:12px 0;padding:16px 18px;
  background:var(--case-a);
  border:1px solid var(--border);border-radius:var(--radius-md);
}

#case > section::before{
  content:"";position:absolute;inset:0 0 auto 0;height:3px;
  background:linear-gradient(90deg,var(--brand),var(--brand-2));opacity:.12;
  border-top-left-radius:inherit;border-top-right-radius:inherit;
}
#case > section h3{
  display:flex;align-items:center;gap:10px;
  margin:0 0 10px;font-size:22px;
}
#case > section h3 i{color:#000;font-size:20px;line-height:1}
#case > section p{margin:10px 0 0}
#case > section:first-of-type{margin-top:12px !important} /* override inline */
/* =========================
   CASE – stile unificato "PR"
   (box pastello, bordo sinistro accentato, H3 in pill)
========================= */

/* Palette per box */
:root{
  --case-artists-bg:#fff8cc;
  --case-artists-accent:#bc9401;

  --case-pr-bg:#fff1df;
  --case-pr-accent:#cf6b1f;

  --case-location-bg:#effbe9;
  --case-location-accent:#3cae63;

  --case-to-bg:#eaf7ff;
  --case-to-accent:#2f84c6;
	
	--case-comunication-bg:#f4ecff;
  --case-comunication-accent:#7b5bd6;
  --case-suppliers-bg:#f5cca3;
  --case-suppliers-accent:#aa672b;
}

/* Reset alternanza precedente solo dentro #case */

#case > section.case-block:first-of-type{margin-top:12px !important}

/* Box base */
#case .case-block{
  position:relative;
  border:1px solid var(--border);
  border-left-width:6px;            /* bordo sinistro evidenziato */
  border-radius:14px;
  padding:16px 18px;
  background:#fffef6;
}

/* Titolo evidenziato */
#case .case-title{
  display:inline-flex; align-items:center; gap:10px;
  margin:0 0 12px 0; padding:8px 12px;
  border:1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.65);
  border-radius:999px;
  font-size:22px; line-height:1.25;
}
#case .case-title i{font-size:20px; line-height:1;color:#FFF;}

/* Varianti colore per singolo box */
#case .case--artists{ background:var(--case-artists-bg); border-left-color:var(--case-artists-accent) }
#case .case--artists .case-title{
color:#FFF;
  background: color-mix(in oklab, var(--case-artists-accent) 85%, white 15%);
  border-color: color-mix(in oklab, var(--case-artists-accent) 30%, transparent);
}

#case .case--pr{ background:var(--case-pr-bg); border-left-color:var(--case-pr-accent) }
#case .case--pr .case-title{
color:#FFF;
  background: color-mix(in oklab, var(--case-pr-accent) 85%, white 15%);
  border-color: color-mix(in oklab, var(--case-pr-accent) 30%, transparent);
}

#case .case--location{ background:var(--case-location-bg); border-left-color:var(--case-location-accent) }
#case .case--location .case-title{
color:#FFF;
  background: color-mix(in oklab, var(--case-location-accent) 85%, white 15%);
  border-color: color-mix(in oklab, var(--case-location-accent) 30%, transparent);
}

#case .case--to{ background:var(--case-to-bg); border-left-color:var(--case-to-accent) }
#case .case--to .case-title{
color:#FFF;
  background: color-mix(in oklab, var(--case-to-accent) 85%, white 15%);
  border-color: color-mix(in oklab, var(--case-to-accent) 30%, transparent);
}

#case .case--comunication{ background:var(--case-comunication-bg); border-left-color:var(--case-comunication-accent) }
#case .case--comunication .case-title{
color:#FFF;
  background: color-mix(in oklab, var(--case-comunication-accent) 85%, white 15%);
  border-color: color-mix(in oklab, var(--case-comunication-accent) 30%, transparent);
}

#case .case--suppliers{ background:var(--case-suppliers-bg); border-left-color:var(--case-suppliers-accent) }
#case .case--suppliers .case-title{
	color:#FFF;
  background: color-mix(in oklab, var(--case-suppliers-accent) 85%, white 15%);
  border-color: color-mix(in oklab, var(--case-suppliers-accent) 30%, transparent);
}

/* Micro-accento superiore (discreto) */
#case .case-block::before{
  content:""; position:absolute; left:0; right:0; top:0;
  height:3px; border-top-left-radius:14px; border-top-right-radius:14px;
  background:linear-gradient(90deg,var(--brand),var(--brand-2));
  opacity:.12; pointer-events:none;
}

/* Spaziatura paragrafi */
#case .case-block p{margin:10px 0 0}

/* Fallback per browser senza color-mix */
@supports not (background: color-mix(in oklab, white 50%, black 50%)){
  #case .case--artists .case-title{ background:#fff9da; border-color:#f1d778 }
  #case .case--pr .case-title{ background:#ffe8d3; border-color:#f4b98a }
  #case .case--location .case-title{ background:#f4fff0; border-color:#bfe9cc }
  #case .case--to .case-title{ background:#f0f9ff; border-color:#bfe0f5 }
  #case .case--suppliers .case-title{ background:#f7f1ff; border-color:#cfc1fb }
  #case .case--comunication .case-title{ background:#f7f1ff; border-color:#cfc1fb }
}


/* =========================
   Responsive
========================= */
@media (max-width:767px){
.kpi{min-width:33%}
#case .case-title{border-radius:10px;}
#case.card {
    padding: 0px;
}
.card{padding:0px;}
.form-section {
    padding: 10px 0px;
}
.container .box-container .page-listing figure, .page-content {
	padding: 0 0px;
}
}
@media (max-width:980px){ .profile-grid{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .profile-grid{grid-template-columns:1fr} }
