/* Blogger Course - Typography & Font Loading */

/* Google Fonts - Editorial Selection */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800;900&family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&family=Libre+Franklin:wght@300;400;500;600;700;800&display=swap');

/* Font Loading Optimization */
@font-face {
  font-family: 'Playfair Display';
  font-display: swap;
}

@font-face {
  font-family: 'Crimson Text';
  font-display: swap;
}

@font-face {
  font-family: 'Libre Franklin';
  font-display: swap;
}

/* Display Typography */
.bc-display1bz {
  font-family: 'Playfair Display', serif;
  font-size: clamp(var(--bc-t10), 7vw, 5rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--bc-c1);
}

.bc-display2ca {
  font-family: 'Playfair Display', serif;
  font-size: clamp(var(--bc-t8), 5vw, var(--bc-t10));
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

/* Body Typography */
.bc-body1cb {
  font-family: 'Crimson Text', serif;
  font-size: var(--bc-t4);
  line-height: 1.9;
  color: var(--bc-c10);
  font-weight: 400;
}

.bc-body2cc {
  font-family: 'Crimson Text', serif;
  font-size: var(--bc-t3);
  line-height: 1.8;
  color: var(--bc-c10);
}

/* Label & Meta Text */
.bc-label1cd {
  font-family: 'Libre Franklin', sans-serif;
  font-size: var(--bc-t1);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bc-c6);
}

.bc-label2ce {
  font-family: 'Libre Franklin', sans-serif;
  font-size: var(--bc-t2);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--bc-c11);
}

/* Quote Styles */
.bc-quote1cf {
  font-family: 'Playfair Display', serif;
  font-size: var(--bc-t7);
  font-style: italic;
  line-height: 1.5;
  color: var(--bc-c1);
  position: relative;
  padding: var(--bc-s6) var(--bc-s7);
  margin: var(--bc-s8) 0;
}

.bc-quote1cf::before {
  content: '"';
  position: absolute;
  top: 0;
  left: 0;
  font-size: 6rem;
  color: var(--bc-c6);
  opacity: 0.3;
  line-height: 1;
  font-style: normal;
}

.bc-quoteauth1cg {
  font-family: 'Libre Franklin', sans-serif;
  font-size: var(--bc-t3);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--bc-c11);
  margin-top: var(--bc-s4);
  display: block;
}

/* Emphasis & Special Text */
.bc-emph1ch {
  font-weight: 700;
  color: var(--bc-c1);
}

.bc-emph2ci {
  font-style: italic;
  color: var(--bc-c7);
}

.bc-highlight1cj {
  background: linear-gradient(
    to bottom,
    transparent 0%,
    transparent 50%,
    rgba(212, 175, 55, 0.3) 50%,
    rgba(212, 175, 55, 0.3) 100%
  );
  padding: 0 var(--bc-s1);
}

/* Drop Cap */
.bc-dropcap1ck::first-letter {
  font-family: 'Playfair Display', serif;
  font-size: 5em;
  line-height: 0.8;
  float: left;
  margin: 0.1em 0.1em 0 0;
  color: var(--bc-c6);
  font-weight: 700;
}

/* Text Alignment */
.bc-textwrap1cl {
  text-align: justify;
  hyphens: auto;
}

@media (max-width: 768px) {
  .bc-textwrap1cl {
    text-align: left;
    hyphens: none;
  }
}

/* Reading Experience */
.bc-reading1cm {
  max-width: 70ch;
  margin: 0 auto;
}

.bc-reading1cm p {
  margin-bottom: var(--bc-s5);
}

.bc-reading1cm p + p {
  text-indent: var(--bc-s5);
}

/* Headings with Decorative Elements */
.bc-headerdec1cn {
  position: relative;
  padding-bottom: var(--bc-s4);
}

.bc-headerdec1cn::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 3px;
  background: var(--bc-c6);
}

.bc-headerdec2co {
  position: relative;
  text-align: center;
  padding-bottom: var(--bc-s4);
}

.bc-headerdec2co::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: var(--bc-c6);
}

/* Byline & Attribution */
.bc-byline1cp {
  font-family: 'Libre Franklin', sans-serif;
  font-size: var(--bc-t3);
  color: var(--bc-c11);
  display: flex;
  align-items: center;
  gap: var(--bc-s3);
}

.bc-byline1cp::before {
  content: '';
  width: 40px;
  height: 1px;
  background: var(--bc-c11);
}

/* Special Characters */
.bc-ampersand1cq {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-weight: 400;
}

/* List Numbering */
.bc-ordlist1cr {
  counter-reset: bc-counter;
  list-style: none;
}

.bc-ordlist1cr li {
  counter-increment: bc-counter;
  position: relative;
  padding-left: var(--bc-s7);
  margin-bottom: var(--bc-s5);
}

.bc-ordlist1cr li::before {
  content: counter(bc-counter, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0;
  font-family: 'Libre Franklin', sans-serif;
  font-size: var(--bc-t6);
  font-weight: 700;
  color: var(--bc-c6);
  line-height: 1;
}

/* Caption Text */
.bc-caption1cs {
  font-family: 'Libre Franklin', sans-serif;
  font-size: var(--bc-t2);
  color: var(--bc-c11);
  font-style: italic;
  margin-top: var(--bc-s3);
  display: block;
}

/* Small Print */
.bc-small1ct {
  font-size: var(--bc-t2);
  line-height: 1.6;
  color: var(--bc-c11);
}

/* Text Selection */
::selection {
  background: rgba(212, 175, 55, 0.3);
  color: var(--bc-c1);
}

::-moz-selection {
  background: rgba(212, 175, 55, 0.3);
  color: var(--bc-c1);
}
