
/* ==========================================================
   COMPUTO PRO — PMPRO FRONTEND UI v1.2
   ========================================================== */
:root{
  --cp-navy:#223A5E;
  --cp-navy-dark:#1A2F4D;
  --cp-cyan:#0891B2;
  --cp-green:#47C27A;
  --cp-yellow:#F6C445;
  --cp-orange:#F59E0B;
  --cp-bg:#F4F8FB;
  --cp-line:#D8E3ED;
  --cp-text:#34465F;
  --cp-muted:#6E7E91;
}

body .pmpro,
body #pmpro_form,
body .pmpro_form,
body .pmpro_checkout{
  font-family:"Montserrat",sans-serif;
  color:var(--cp-text);
}

body .pmpro,
body #pmpro_form{
  width:min(100%, 1040px);
  margin:24px auto 50px;
}

/* Card principali: meno scatole annidate, più aria */
body .pmpro .pmpro_card,
body .pmpro .pmpro_section,
body .pmpro fieldset,
body #pmpro_form fieldset,
body .pmpro_checkout-fieldset{
  background:#fff;
  border:1px solid var(--cp-line);
  border-radius:18px;
  padding:30px 34px;
  margin:0 0 24px;
  box-shadow:0 12px 34px rgba(34,58,94,.07);
  overflow:hidden;
}

body .pmpro .pmpro_card .pmpro_card,
body .pmpro fieldset fieldset,
body #pmpro_form fieldset fieldset{
  box-shadow:none;
  border-color:#E5ECF3;
  margin-bottom:0;
}

/* Barra cromatica sulle sezioni */
body .pmpro fieldset,
body #pmpro_form fieldset,
body .pmpro .pmpro_card{
  position:relative;
}
body .pmpro fieldset:before,
body #pmpro_form fieldset:before,
body .pmpro .pmpro_card:before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:5px;
  background:linear-gradient(180deg,var(--cp-cyan),var(--cp-green));
}

/* Titoli */
body .pmpro h2,
body .pmpro h3,
body .pmpro h4,
body #pmpro_form h2,
body #pmpro_form h3,
body #pmpro_form legend,
body .pmpro legend{
  color:var(--cp-navy);
  font-weight:800;
  letter-spacing:-.025em;
}
body .pmpro h2, body #pmpro_form h2{font-size:27px;line-height:1.2;margin:0 0 20px;}
body .pmpro h3, body #pmpro_form h3,
body .pmpro legend, body #pmpro_form legend{font-size:21px;line-height:1.25;margin:0 0 18px;}

/* Evidenza prezzo/piano */
body .pmpro .pmpro_checkout-field-price,
body #pmpro_form .pmpro_checkout-field-price{
  background:linear-gradient(135deg,rgba(8,145,178,.09),rgba(71,194,122,.13));
  border:1px solid rgba(8,145,178,.20);
  border-radius:13px;
  padding:15px 17px;
  margin:14px 0 4px;
  color:var(--cp-navy-dark);
  font-weight:700;
}

/* Label e campi */
body .pmpro label,
body #pmpro_form label,
body .pmpro .pmpro_form_label{
  display:block;
  color:var(--cp-navy-dark);
  font-weight:700;
  font-size:14px;
  margin:0 0 7px;
}
body .pmpro .pmpro_form_field,
body .pmpro .pmpro_checkout-field,
body #pmpro_form .pmpro_form_field,
body #pmpro_form .pmpro_checkout-field{margin-bottom:17px;max-width:none;}

body .pmpro input[type="text"],
body .pmpro input[type="email"],
body .pmpro input[type="password"],
body .pmpro input[type="tel"],
body .pmpro input[type="number"],
body .pmpro input[type="url"],
body .pmpro select,
body .pmpro textarea,
body #pmpro_form input[type="text"],
body #pmpro_form input[type="email"],
body #pmpro_form input[type="password"],
body #pmpro_form input[type="tel"],
body #pmpro_form input[type="number"],
body #pmpro_form input[type="url"],
body #pmpro_form select,
body #pmpro_form textarea{
  width:100%;
  min-height:49px;
  padding:11px 13px;
  background:#FBFCFE;
  border:1px solid #C7D5E3;
  border-radius:10px;
  color:var(--cp-navy-dark);
  font-family:"Montserrat",sans-serif;
  font-size:14px;
  box-shadow:none;
  transition:.18s ease;
}
body .pmpro input:focus,
body .pmpro select:focus,
body .pmpro textarea:focus,
body #pmpro_form input:focus,
body #pmpro_form select:focus,
body #pmpro_form textarea:focus{
  outline:none;
  background:#fff;
  border-color:var(--cp-cyan);
  box-shadow:0 0 0 3px rgba(8,145,178,.11);
}
body .pmpro input[type="checkbox"],
body .pmpro input[type="radio"],
body #pmpro_form input[type="checkbox"],
body #pmpro_form input[type="radio"]{accent-color:var(--cp-green);}

/* Link */
body .pmpro a, body #pmpro_form a{
  color:var(--cp-cyan);
  font-weight:700;
  text-decoration:none;
}
body .pmpro a:hover, body #pmpro_form a:hover{text-decoration:underline;}

/* Pulsanti */
body .pmpro .pmpro_btn,
body .pmpro button,
body .pmpro input[type="submit"],
body #pmpro_form .pmpro_btn,
body #pmpro_form button,
body #pmpro_form input[type="submit"]{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 22px;
  border:0;
  border-radius:10px;
  background:var(--cp-green);
  color:#17324D !important;
  font-family:"Montserrat",sans-serif;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
  text-decoration:none!important;
  box-shadow:0 9px 20px rgba(71,194,122,.20);
  transition:.15s ease;
}
body .pmpro .pmpro_btn:hover,
body .pmpro button:hover,
body .pmpro input[type="submit"]:hover,
body #pmpro_form .pmpro_btn:hover,
body #pmpro_form button:hover,
body #pmpro_form input[type="submit"]:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 25px rgba(71,194,122,.27);
}
body .pmpro .pmpro_btn.pmpro_btn-plain,
body #pmpro_form .pmpro_btn.pmpro_btn-plain{
  background:#EAF3F7;
  color:var(--cp-navy)!important;
  box-shadow:none;
}
body .pmpro #pmpro_btn-submit,
body #pmpro_form #pmpro_btn-submit,
body .pmpro input[name="submit-checkout"],
body #pmpro_form input[name="submit-checkout"]{
  width:100%;
  min-height:54px;
  margin-top:10px;
  font-size:15px;
}

/* Messaggi: cyan informativo, arancio warning */
body .pmpro_message,
body .pmpro_alert,
body .pmpro .pmpro_message,
body #pmpro_form .pmpro_message{
  border:1px solid rgba(8,145,178,.25);
  border-left:5px solid var(--cp-cyan);
  border-radius:11px;
  background:linear-gradient(90deg,#EAF8FC,#F7FCFD);
  color:var(--cp-navy-dark);
  padding:15px 17px;
  margin:0 0 22px;
  font-weight:600;
}
body .pmpro_error,
body .pmpro .pmpro_error,
body #pmpro_form .pmpro_error{
  border-color:#F2C780;
  border-left-color:var(--cp-orange);
  background:#FFF9ED;
  color:#714B12;
}

/* Payment */
body .pmpro #pmpro_payment_information_fields,
body #pmpro_form #pmpro_payment_information_fields,
body .pmpro .pmpro_payment_information_fields{
  background:linear-gradient(145deg,#FBFCFE,#F2F8FA);
  border-radius:14px;
}

/* Tabelle */
body .pmpro table, body #pmpro_form table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  border:1px solid var(--cp-line);
  border-radius:12px;
  overflow:hidden;
}
body .pmpro th, body .pmpro td,
body #pmpro_form th, body #pmpro_form td{
  padding:12px 14px;
  border-bottom:1px solid var(--cp-line);
}

/* Piccoli accenti */
body .pmpro strong, body #pmpro_form strong{color:var(--cp-navy-dark);}
body .pmpro small, body #pmpro_form small,
body .pmpro .pmpro_form_hint, body #pmpro_form .pmpro_form_hint{
  color:var(--cp-muted);
}

/* Mobile */
@media(max-width:768px){
  body .pmpro, body #pmpro_form{width:100%;margin-top:14px;}
  body .pmpro .pmpro_card,
  body .pmpro .pmpro_section,
  body .pmpro fieldset,
  body #pmpro_form fieldset,
  body .pmpro_checkout-fieldset{
    padding:20px;
    border-radius:14px;
  }
  body .pmpro h2, body #pmpro_form h2{font-size:22px;}
  body .pmpro h3, body #pmpro_form h3,
  body .pmpro legend, body #pmpro_form legend{font-size:18px;}
  body .pmpro .pmpro_btn,
  body .pmpro button,
  body .pmpro input[type="submit"],
  body #pmpro_form .pmpro_btn,
  body #pmpro_form button,
  body #pmpro_form input[type="submit"]{width:100%;}
}
