/*
 * EVCP Info static pages
 *
 * Shared presentation for About, Contact and legal information. Page content
 * remains controlled by the WordPress editor; this file only defines layout.
 */

.evcp-legal-page,
.evcp-contact-page{
  padding:58px 0 76px;
  background:var(--evcp-surface);
}

.evcp-legal-layout{
  grid-template-columns:minmax(0,1fr) 286px;
  gap:64px;
}

.evcp-legal-content{
  max-width:920px;
  font-size:16px;
  line-height:1.72;
}

.evcp-legal-content>section{
  margin:0;
  padding:0 0 32px;
  border-bottom:1px solid var(--evcp-line);
}

.evcp-legal-content>section+section{
  padding-top:32px;
}

.evcp-legal-content>section:last-child{
  padding-bottom:0;
  border-bottom:0;
}

.evcp-legal-content>h2{
  margin:0 0 16px;
  font-size:27px;
  line-height:1.2;
}

.evcp-legal-content>h2:not(:first-child){
  margin-top:34px;
  padding-top:32px;
  border-top:1px solid var(--evcp-line);
}

.evcp-legal-content>section+h2:not(:first-child){
  margin-top:32px;
  padding-top:0;
  border-top:0;
}

.evcp-legal-content section h2{
  margin:0 0 16px;
  font-size:27px;
  line-height:1.2;
}

.evcp-legal-content h3{
  margin:26px 0 10px;
  font-size:18px;
  line-height:1.3;
}

.evcp-legal-content p,
.evcp-legal-content li{
  color:var(--evcp-muted);
}

.evcp-legal-content p{
  margin:0 0 17px;
}

.evcp-legal-content p:last-child{
  margin-bottom:0;
}

.evcp-legal-content ul,
.evcp-legal-content ol{
  margin:13px 0 18px;
  padding-left:22px;
}

.evcp-legal-content a{
  color:var(--evcp-cyan);
  font-weight:700;
  text-decoration:none;
  transition:color .2s ease;
}

.evcp-legal-content a:hover,
.evcp-legal-content a:focus-visible{
  color:var(--evcp-cyan-hover);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.evcp-legal-content .evcp-legal-note{
  position:relative;
  width:100%;
  min-height:62px;
  margin:12px 0;
  padding:13px 18px 12px 62px;
  border:1px solid var(--evcp-line);
  border-left:3px solid var(--evcp-cyan);
  border-radius:2px;
  background:var(--evcp-surface);
  color:var(--evcp-ink);
  box-shadow:none;
}

.evcp-legal-content .evcp-legal-note::before{
  display:grid;
  position:absolute;
  top:50%;
  left:18px;
  width:27px;
  height:27px;
  place-items:center;
  border:1.5px solid var(--evcp-cyan);
  border-radius:50%;
  color:var(--evcp-cyan);
  content:"i";
  font-family:Arial,sans-serif;
  font-size:14px;
  font-weight:700;
  line-height:1;
  transform:translateY(-50%);
}

.evcp-legal-content .evcp-legal-note p{
  margin:0;
  color:var(--evcp-ink);
  font-size:14px;
  font-weight:400;
  line-height:1.45;
}

.evcp-legal-content .evcp-legal-note p:empty{
  display:none;
}

.evcp-legal-sidebar{
  top:calc(var(--evcp-header-height) + 28px);
}

.evcp-legal-sidebar-card{
  padding:0;
  overflow:hidden;
  border:1px solid var(--evcp-line);
  border-radius:4px;
  background:var(--evcp-surface);
}

.evcp-legal-sidebar-card+.evcp-legal-sidebar-card{
  margin-top:18px;
}

.evcp-legal-sidebar-card .evcp-sidebar-title{
  margin:0;
  padding:14px 16px;
  border-bottom:1px solid var(--evcp-line);
  background:var(--evcp-soft);
  color:var(--evcp-ink);
  font-size:13px;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
}

.evcp-legal-sidebar-card .evcp-category-list a{
  display:flex;
  position:relative;
  min-height:40px;
  align-items:center;
  padding:10px 32px 10px 14px;
  border-top:1px solid var(--evcp-line-soft);
  color:var(--evcp-muted);
  font-size:13px;
  font-weight:500;
  line-height:1.3;
  text-decoration:none;
  transition:background-color .18s ease,color .18s ease,box-shadow .18s ease;
}

.evcp-legal-sidebar-card .evcp-category-list a:first-child{
  border-top:0;
}

.evcp-legal-sidebar-card .evcp-category-list a::after{
  position:absolute;
  top:50%;
  right:13px;
  color:#7a858d;
  font-size:19px;
  line-height:1;
  content:"\203a";
  transform:translate(0,-50%);
  transition:color .2s ease,transform .22s cubic-bezier(.2,.65,.3,1);
}

.evcp-legal-sidebar-card .evcp-category-list a:hover,
.evcp-legal-sidebar-card .evcp-category-list a:focus-visible,
.evcp-legal-sidebar-card .evcp-category-list a.is-active{
  background:color-mix(in srgb,var(--evcp-cyan) 6%,var(--evcp-surface));
  color:var(--evcp-cyan);
  box-shadow:inset 2px 0 var(--evcp-cyan);
}

.evcp-legal-sidebar-card .evcp-category-list a:hover::after,
.evcp-legal-sidebar-card .evcp-category-list a:focus-visible::after,
.evcp-legal-sidebar-card .evcp-category-list a.is-active::after{
  color:var(--evcp-cyan);
  transform:translate(3px,-50%);
}

/* Contact form */
.evcp-contact-layout{
  grid-template-columns:minmax(0,1fr) 286px;
  gap:64px;
}

.evcp-contact-card{
  padding:30px 32px 32px;
  border:1px solid var(--evcp-line);
  border-top:3px solid var(--evcp-cyan);
  border-radius:4px;
  background:var(--evcp-surface);
  box-shadow:none;
}

.evcp-contact-intro h2{
  margin:0 0 8px;
  font-size:27px;
}

.evcp-contact-intro p{
  max-width:780px;
  margin:0 0 28px;
  color:var(--evcp-muted);
  font-size:15px;
  line-height:1.6;
}

.evcp-contact-form .evcp-form-grid{
  gap:0 18px;
}

.evcp-contact-form .evcp-form-field{
  margin-bottom:19px;
}

.evcp-contact-form label{
  color:var(--evcp-ink);
  font-size:14px;
  font-weight:700;
}

.evcp-contact-form input[type="text"],
.evcp-contact-form input[type="email"],
.evcp-contact-form input[type="tel"],
.evcp-contact-form select,
.evcp-contact-form textarea{
  border-color:var(--evcp-line);
  border-radius:3px;
  font-size:15px;
  transition:border-color .18s ease,box-shadow .18s ease;
}

.evcp-contact-form textarea{
  min-height:190px;
}

.evcp-contact-form .evcp-form-consent{
  margin:7px 0 22px;
  padding:16px 18px;
  border-radius:3px;
}

.evcp-contact-form .evcp-form-consent>p{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:start;
  gap:11px;
  margin:0;
}

.evcp-contact-form .evcp-form-consent br{
  display:none;
}

.evcp-contact-form .evcp-form-consent .wpcf7-form-control-wrap{
  display:block;
  grid-column:1;
  margin-top:2px;
}

.evcp-contact-form .evcp-form-consent .wpcf7-list-item{
  display:block;
  margin:0;
}

.evcp-contact-form .evcp-form-consent input[type="checkbox"]{
  display:block;
  width:16px;
  height:16px;
  margin:0;
}

.evcp-contact-form .evcp-form-consent label{
  display:block;
  grid-column:2;
  margin:0;
  font-size:13px;
  line-height:1.5;
}

.evcp-contact-form .wpcf7-response-output{
  margin:0 0 22px;
  padding:14px 16px;
  border-radius:3px;
  font-size:14px;
}

.evcp-contact-form input[type="submit"],
.evcp-contact-form .wpcf7-submit{
  min-height:43px;
  padding:0 20px;
  border-color:var(--evcp-cyan);
  border-radius:8px;
  background:var(--evcp-cyan);
  color:#fff;
  font-size:16px;
  font-weight:700;
  box-shadow:0 7px 16px color-mix(in srgb,var(--evcp-cyan) 17%,transparent);
  transition:background-color .2s ease,border-color .2s ease,color .2s ease;
}

.evcp-contact-form input[type="submit"]:hover,
.evcp-contact-form input[type="submit"]:focus-visible,
.evcp-contact-form .wpcf7-submit:hover,
.evcp-contact-form .wpcf7-submit:focus-visible{
  border-color:var(--evcp-cyan-dark);
  background:var(--evcp-cyan-dark);
  color:#fff;
}

.evcp-contact-form .evcp-form-note{
  margin:0;
  color:var(--evcp-muted);
  font-size:13px;
  font-weight:500;
  line-height:1.45;
}

.evcp-contact-sidebar{
  display:grid;
  gap:18px;
  border-top:0;
}

.evcp-contact-side-card{
  padding:0;
  overflow:hidden;
  border:1px solid var(--evcp-line);
  border-radius:4px;
  background:var(--evcp-surface);
}

.evcp-contact-side-card .evcp-sidebar-title{
  margin:0;
  padding:14px 16px;
  border-bottom:1px solid var(--evcp-line);
  background:var(--evcp-soft);
  color:var(--evcp-ink);
  font-size:13px;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
}

.evcp-contact-side-card p:not(.evcp-sidebar-title){
  padding:15px 16px 17px;
  color:var(--evcp-muted);
  font-size:13px;
  line-height:1.6;
}

@media(max-width:1080px){
  .evcp-legal-layout{
    grid-template-columns:minmax(0,1fr) 250px;
    gap:36px;
  }

  .evcp-contact-layout{
    display:block;
  }

  .evcp-contact-sidebar{
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
    margin-top:28px;
  }
}

@media(max-width:760px){
  .evcp-legal-page,
  .evcp-contact-page{
    padding:40px 0 54px;
  }

  .evcp-legal-layout{
    display:block;
  }

  .evcp-legal-content{
    font-size:15px;
    line-height:1.68;
  }

  .evcp-legal-content>section{
    padding-bottom:26px;
  }

  .evcp-legal-content>section+section{
    padding-top:26px;
  }

  .evcp-legal-content>h2,
  .evcp-legal-content section h2{
    font-size:24px;
  }

  .evcp-legal-sidebar{
    margin-top:34px;
  }

  .evcp-contact-card{
    padding:24px 20px;
  }

  .evcp-contact-form .evcp-form-grid{
    grid-template-columns:1fr;
  }

  .evcp-contact-sidebar{
    grid-template-columns:1fr;
  }
}
