/*
 Theme Name: MediAlbania Divi Child
 Theme URI: https://medialbania.it/
 Description: Child theme professionale per MediAlbania, compatibile con Divi Builder. Include base SEO, performance, stile corporate medicale e componenti grafici personalizzabili.
 Author: MediAlbania
 Author URI: https://medialbania.it/
 Template: Divi
 Version: 1.0.0
 License: GPL-2.0+
 Text Domain: medialbania-divi-child
*/

:root{
  --ma-blue:#0B4F8A;
  --ma-blue-dark:#063A66;
  --ma-cyan:#20B8C7;
  --ma-green:#19A974;
  --ma-gold:#F4B942;
  --ma-ink:#14213D;
  --ma-text:#334155;
  --ma-muted:#64748B;
  --ma-soft:#F5FAFC;
  --ma-white:#FFFFFF;
  --ma-border:#D9E8EF;
  --ma-radius:18px;
  --ma-shadow:0 18px 45px rgba(11,79,138,.12);
}

body{
  color:var(--ma-text);
  background:#fff;
  font-weight:400;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5,h6{
  color:var(--ma-ink);
  font-weight:800;
  letter-spacing:-.025em;
  line-height:1.12;
}

p{line-height:1.75;}
a{color:var(--ma-blue); transition:all .2s ease;}
a:hover{color:var(--ma-cyan);}

/* Divi global polish */
.et_pb_section{background-size:cover;}
.et_pb_text_inner strong{color:var(--ma-ink);}
.et_pb_button,
.et_button_no_icon .et_pb_button,
.ma-btn-primary,
.ma-btn-secondary{
  border-radius:999px!important;
  font-weight:800!important;
  letter-spacing:.01em;
  box-shadow:0 12px 26px rgba(11,79,138,.18);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease!important;
}
.et_pb_button:hover,
.ma-btn-primary:hover,
.ma-btn-secondary:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 32px rgba(11,79,138,.22);
}
.ma-btn-primary{background:var(--ma-blue)!important;color:#fff!important;border:2px solid var(--ma-blue)!important;}
.ma-btn-secondary{background:#fff!important;color:var(--ma-blue)!important;border:2px solid var(--ma-border)!important;}

/* Header */
#main-header{
  box-shadow:0 10px 30px rgba(15,23,42,.08)!important;
}
#top-menu li a{font-weight:700;}
#top-menu li.current-menu-item>a{color:var(--ma-cyan)!important;}
.mobile_menu_bar:before{color:var(--ma-blue)!important;}
.et_mobile_menu{border-top:3px solid var(--ma-cyan)!important;}

/* Utility sections */
.ma-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 20%, rgba(32,184,199,.20), transparent 34%),
    linear-gradient(135deg,#f7fcff 0%,#eef8fb 52%,#ffffff 100%);
}
.ma-hero:before{
  content:"";
  position:absolute;
  inset:auto -120px -180px auto;
  width:420px;
  height:420px;
  border-radius:50%;
  background:rgba(11,79,138,.08);
  pointer-events:none;
}
.ma-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(32,184,199,.12);
  color:var(--ma-blue-dark);
  font-weight:800;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.ma-card{
  border:1px solid var(--ma-border);
  border-radius:var(--ma-radius);
  background:#fff;
  box-shadow:var(--ma-shadow);
  padding:28px;
}
.ma-card-soft{
  border:1px solid var(--ma-border);
  border-radius:var(--ma-radius);
  background:var(--ma-soft);
  padding:28px;
}
.ma-icon-card{
  border:1px solid var(--ma-border);
  border-radius:var(--ma-radius);
  background:#fff;
  padding:26px;
  height:100%;
  box-shadow:0 10px 28px rgba(15,23,42,.06);
}
.ma-icon-card h3{font-size:22px;margin-bottom:10px;}
.ma-icon-badge{
  display:inline-flex;
  width:48px;
  height:48px;
  border-radius:15px;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--ma-blue),var(--ma-cyan));
  color:#fff;
  font-weight:900;
  margin-bottom:16px;
}
.ma-gradient-box{
  border-radius:24px;
  background:linear-gradient(135deg,var(--ma-blue-dark),var(--ma-blue) 58%,var(--ma-cyan));
  color:#fff;
  padding:42px;
  box-shadow:0 24px 60px rgba(11,79,138,.24);
}
.ma-gradient-box h2,.ma-gradient-box h3,.ma-gradient-box p{color:#fff;}
.ma-check-list ul{list-style:none!important;padding-left:0!important;}
.ma-check-list li{position:relative;padding-left:34px;margin:12px 0;}
.ma-check-list li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  width:24px;
  height:24px;
  border-radius:50%;
  background:rgba(25,169,116,.14);
  color:var(--ma-green);
  text-align:center;
  line-height:24px;
  font-weight:900;
}
.ma-step{
  position:relative;
  padding:24px 24px 24px 78px;
  border:1px solid var(--ma-border);
  border-radius:var(--ma-radius);
  background:#fff;
}
.ma-step-number{
  position:absolute;
  left:22px;
  top:24px;
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--ma-blue);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
}
.ma-treatment-card{
  border:1px solid var(--ma-border);
  border-radius:22px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(15,23,42,.07);
  transition:transform .2s ease, box-shadow .2s ease;
}
.ma-treatment-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(15,23,42,.11);}
.ma-treatment-card .ma-treatment-body{padding:26px;}
.ma-trust-bar{
  border:1px solid var(--ma-border);
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 34px rgba(15,23,42,.07);
  padding:18px 22px;
}
.ma-small-note{font-size:14px;color:var(--ma-muted);}

/* Forms */
.et_pb_contact_form label{font-weight:700;color:var(--ma-ink);}
.et_pb_contact_field input,
.et_pb_contact_field textarea,
.et_pb_contact_field select,
input[type=text],input[type=email],input[type=tel],textarea,select{
  border:1px solid var(--ma-border)!important;
  border-radius:14px!important;
  background:#fff!important;
  padding:15px 16px!important;
  color:var(--ma-ink)!important;
}
.et_pb_contact_field input:focus,
.et_pb_contact_field textarea:focus,
input:focus,textarea:focus,select:focus{
  border-color:var(--ma-cyan)!important;
  box-shadow:0 0 0 4px rgba(32,184,199,.14)!important;
  outline:none!important;
}

/* Footer */
#main-footer{background:var(--ma-blue-dark)!important;}
#footer-info,#footer-info a{color:rgba(255,255,255,.78)!important;}
.footer-widget h4{color:#fff!important;}
.footer-widget a{color:rgba(255,255,255,.78)!important;}
.footer-widget a:hover{color:#fff!important;}

/* Accessibility */
:focus-visible{outline:3px solid rgba(32,184,199,.55);outline-offset:3px;}

@media(max-width:980px){
  .ma-gradient-box{padding:28px;}
  .ma-card,.ma-card-soft,.ma-icon-card{padding:22px;}
  h1{font-size:38px!important;}
}

@media(max-width:767px){
  .ma-step{padding:22px;}
  .ma-step-number{position:static;margin-bottom:12px;}
  h1{font-size:32px!important;}
}
