/* typography.wxss */

.wv-p {
  display: block;
  width: 100%;
  font-size: var(--wv-font-size-default);
  font-weight: 400;
  margin-bottom: var(--wv-margin-small);
}

/* Text sizes */
.wv-t-huge { font-size: var(--wv-font-size-huge); }
.wv-t-large { font-size: var(--wv-font-size-large); }
.wv-t-default { font-size: var(--wv-font-size-default); }
.wv-t-small { font-size: var(--wv-font-size-small); }
.wv-t-mini { font-size: var(--wv-font-size-mini); }

/* Headings */
.wv-h1, .wv-h2, .wv-h3, .wv-h4, .wv-h5, .wv-h6 {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 0;
  display: block;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.wv-h1 { font-size: var(--wv-font-size-h1) !important; margin-bottom: var(--wv-margin-large); }
.wv-h2 { font-size: var(--wv-font-size-h2) !important; margin-bottom: var(--wv-margin-large); }
.wv-h3 { font-size: var(--wv-font-size-h3) !important; margin-bottom: var(--wv-margin-default); }
.wv-h4 { font-size: var(--wv-font-size-h4) !important; margin-bottom: var(--wv-margin-small); }
.wv-h5 { font-size: var(--wv-font-size-h5) !important; margin-bottom: var(--wv-margin-small); }
.wv-h6 { font-size: var(--wv-font-size-default) !important; margin-bottom: var(--wv-margin-small); }

/* Display text variants */
.wv-disp1, .wv-disp2, .wv-disp3, .wv-disp4, .wv-disp5, .wv-disp6 {
  font-weight: 300;
  letter-spacing: -0.5rpx;
}

.wv-disp1 { font-size: var(--wv-font-size-h1); }
.wv-disp2 { font-size: var(--wv-font-size-h2); }
.wv-disp3 { font-size: var(--wv-font-size-h3); }
.wv-disp4 { font-size: var(--wv-font-size-h4); }
.wv-disp5 { font-size: var(--wv-font-size-h5); }
.wv-disp6 { font-size: var(--wv-font-size-default); }


/* Text styles */
.wv-t-del { text-decoration: line-through; }
.wv-t-underline { text-decoration: underline; }
.wv-t-bold { font-weight: 700; }
.wv-t-italic { font-style: italic; } 

/* Text alignment */
.wv-t-align-left { text-align: left !important; }
.wv-t-align-right { text-align: right !important; }
.wv-t-align-center { text-align: center !important; }



/* Horizontal and vertical rules */
.wv-hr {
  display: inline-block;
  width: 100%;
  height: 0;
  margin: var(--wv-margin-large) 0;
  color: var(--wv-border-color);
  border: 0;
  border-top: 1rpx solid var(--wv-border-color);
  align-self: center;
}
.wv-hc {
  display: inline-block;
  width: 0;
  height: 100%;
  margin: 0 var(--wv-margin-large);
  color: var(--wv-border-color);
  border: 0;
  border-left: 1rpx solid var(--wv-border-color);
  align-self: stretch;
}

/* 
 * Utility classes for spacing and border radius
 * Note: All utility classes use !important to ensure they take precedence
 * over other styles, regardless of CSS specificity, as is standard for utility classes.
 */
