
/* HAI VU PIANO ACADEMY — KỸ THUẬT V18
   One active section at a time + reading comfort
*/

.hv18-controls{
  border-bottom:1px solid rgba(24,56,79,.08);
  background:#fff;
}
.hv18-controls-inner{
  width:min(1220px,calc(100% - 48px));
  margin-inline:auto;
  padding:22px 0 20px;
}
.hv18-control-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(270px,340px);
  gap:16px;
  align-items:end;
}
.hv18-field label{
  display:block;
  margin-bottom:7px;
  color:#758690;
  font-size:11px;
  font-weight:650;
  letter-spacing:.055em;
}
.hv18-search,
.hv18-select{
  width:100%;
  min-height:48px;
  padding:0 14px;
  border:1px solid rgba(24,56,79,.16);
  border-radius:9px;
  background:#fff;
  color:#18384f;
  font:inherit;
  font-size:15px;
  outline:none;
}
.hv18-search:focus,
.hv18-select:focus{
  border-color:rgba(18,63,91,.42);
  box-shadow:0 0 0 3px rgba(18,63,91,.05);
}
.hv18-partbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(24,56,79,.08);
}
.hv18-current{
  min-width:0;
}
.hv18-current small{
  display:block;
  margin-bottom:3px;
  color:#9a7040;
  font-size:11px;
  font-weight:650;
  letter-spacing:.05em;
}
.hv18-current strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#18384f;
  font-size:15px;
  font-weight:600;
}
.hv18-part-actions{
  display:flex;
  gap:8px;
  flex:0 0 auto;
}
.hv18-part-btn{
  min-height:38px;
  padding:0 13px;
  border:1px solid rgba(24,56,79,.15);
  border-radius:999px;
  background:#fff;
  color:#18384f;
  font:inherit;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
}
.hv18-part-btn:disabled{
  opacity:.38;
  cursor:not-allowed;
}

/* Hide all non-active parts decisively. */
.hv15-part[hidden]{display:none!important}
.hv15-part.hv18-active{
  display:grid!important;
}

/* Index reading comfort */
.hv15-index{
  padding-top:62px!important;
}
.hv15-part{
  padding:0 0 76px!important;
  border-top:0!important;
}
.hv15-part h2{
  font-size:33px!important;
  line-height:1.2!important;
}
.hv15-part-intro{
  font-size:16px!important;
  line-height:1.75!important;
  color:#536b7a!important;
}
.hv15-item a{
  min-height:78px!important;
  padding:12px 0!important;
}
.hv15-num{
  font-size:13px!important;
}
.hv15-item-title{
  font-size:17px!important;
  line-height:1.48!important;
  font-weight:560!important;
}
.hv15-empty{
  padding:34px 0!important;
  font-size:16px!important;
  line-height:1.65!important;
}

/* Article reading comfort */
.hv15-article-deck{
  font-size:18px!important;
  line-height:1.72!important;
}
.hv15-copy h2{
  font-size:24px!important;
  line-height:1.3!important;
  margin-bottom:17px!important;
}
.hv15-copy p{
  font-size:18.5px!important;
  line-height:1.82!important;
  color:#2f4a5b!important;
}
.hv15-copy section{
  padding-bottom:44px!important;
  margin-bottom:44px!important;
}
.hv15-article-context{
  font-size:14px!important;
  line-height:1.72!important;
}
.hv15-aside a{
  font-size:13.5px!important;
  line-height:1.48!important;
  padding:10px 0!important;
}
.hv15-prevnext strong{
  font-size:15px!important;
  line-height:1.5!important;
}

@media(max-width:960px){
  .hv18-control-top{grid-template-columns:1fr}
  .hv15-part.hv18-active{display:block!important}
}
@media(max-width:720px){
  .hv18-controls-inner{width:min(100% - 32px,1220px)}
  .hv18-partbar{align-items:flex-start;flex-direction:column}
  .hv18-current strong{white-space:normal}
  .hv15-index{padding-top:48px!important}
  .hv15-part h2{font-size:29px!important}
  .hv15-part-intro{font-size:16px!important}
  .hv15-item-title{font-size:16.5px!important}
  .hv15-copy p{font-size:17.5px!important;line-height:1.78!important}
  .hv15-article-deck{font-size:17px!important}
}
