/**
 * book-scene.css – dekoracyjna scena z książką (hero domyślny)
 * Ładowana jako część style.css via @import lub bezpośrednio
 */

/* =============================================
   BOOK SCENE (decorative, default hero visual)
   ============================================= */
.book-scene {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.book-card {
  width: min(520px, 100%);
  aspect-ratio: 1.05 / 1;
  border-radius: 0 0 0 70px;
  background: linear-gradient(135deg, #fffaf2 0%, #efe0ca 100%);
  position: absolute;
  right: -20px;
  top: 12px;
  box-shadow: var(--shadow);
  overflow: hidden;
}

.book-card::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  width: 39%;
  height: 100%;
  background: linear-gradient(90deg, rgba(255, 255, 255, .1), rgba(153, 111, 75, .12));
}

.vase {
  position: absolute;
  right: 20px;
  top: 28px;
  width: 120px;
  height: 350px;
  opacity: .75;
}

.vase::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 32px;
  width: 72px;
  height: 116px;
  border-radius: 40px 40px 22px 22px;
  background: #f8ead8;
  box-shadow: inset 0 0 0 3px rgba(115, 74, 45, .08);
}

.vase::after {
  content: '✣ ✣ ✣ ✣ ✣ ✣';
  position: absolute;
  top: 0;
  left: 0;
  width: 120px;
  color: #a9784c;
  font-size: 22px;
  line-height: 1.4;
  transform: rotate(-10deg);
}

.book-title {
  position: absolute;
  left: 20px;
  right: 145px;
  top: 68px;
  text-align: center;
  z-index: 2;
}

.book-title .author {
  font-weight: 800;
  margin-bottom: 10px;
}

.title-main {
  font-family: var(--font-display);
  color: #cf1d25;
  font-size: 58px;
  line-height: 1;
  margin: 0;
}

.title-sub {
  font-family: var(--font-display);
  font-size: 34px;
  margin: 8px 0 0;
  font-weight: 700;
}

.mock-book {
  position: absolute;
  z-index: 4;
  left: 38px;
  bottom: 52px;
  width: 390px;
  height: 285px;
  border-radius: 18px 18px 14px 14px;
  background: #fff;
  box-shadow: 0 26px 46px rgba(74, 50, 35, .23);
  transform: rotate(-1deg);
  overflow: hidden;
  border: 1px solid #eadccc;
}

.mock-book::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 24px;
  height: 100%;
  background: linear-gradient(180deg, #f9e7f0, #fff);
  border-right: 1px solid #ead3df;
}

.mock-cover-title {
  position: absolute;
  left: 58px;
  top: 30px;
  font-family: var(--font-display);
  color: #cf1d25;
  font-size: 43px;
  line-height: 1;
  text-align: center;
  right: 35px;
}

.mock-cover-sub {
  display: block;
  color: #222;
  font-size: 24px;
  margin-top: 6px;
  font-weight: 700;
}

.pig {
  position: absolute;
  left: 70px;
  bottom: 40px;
  width: 118px;
  height: 118px;
  background: #f06d75;
  border-radius: 54% 48% 50% 52%;
  border: 4px solid #be2c33;
}

.pig::before,
.pig::after {
  content: '';
  position: absolute;
  top: -28px;
  width: 28px;
  height: 40px;
  background: #f06d75;
  border: 4px solid #be2c33;
  border-radius: 20px 20px 4px 4px;
}

.pig::before {
  left: 20px;
  transform: rotate(-28deg);
}

.pig::after {
  right: 18px;
  transform: rotate(22deg);
}

.pig-nose {
  position: absolute;
  left: 37px;
  top: 48px;
  width: 42px;
  height: 30px;
  background: #ff9aa0;
  border-radius: 50%;
  border: 3px solid #be2c33;
}

.pig-nose::before {
  content: '•  •';
  position: absolute;
  left: 10px;
  top: 1px;
  font-size: 18px;
  color: #74252b;
}

.pig-eye {
  position: absolute;
  top: 33px;
  left: 31px;
  width: 10px;
  height: 10px;
  background: #111;
  border-radius: 50%;
  box-shadow: 45px 0 0 #111;
}

.mud {
  position: absolute;
  right: 48px;
  bottom: 58px;
  width: 145px;
  height: 94px;
  border-radius: 50%;
  background: #1b2b23;
  border: 10px solid #1cbbc1;
  box-shadow: 0 0 0 5px #e2a327 inset;
}

.pink-swoosh {
  position: absolute;
  right: 0;
  bottom: 70px;
  width: 310px;
  height: 160px;
  background: rgba(246, 112, 160, .35);
  border-radius: 70% 0 0 40%;
  transform: rotate(-12deg);
}

.badge {
  position: absolute;
  right: 16px;
  bottom: 18px;
  background: #ffd92e;
  color: #1c1b18;
  font-weight: 900;
  font-size: 13px;
  padding: 6px 8px;
  transform: rotate(-4deg);
  border: 2px solid #1c1b18;
}

/* Responsive book scene */
@media (max-width: 720px) {
  .book-scene {
    min-height: 420px;
  }

  .book-card {
    height: 390px;
    aspect-ratio: auto;
  }

  .book-title {
    right: 20px;
    top: 36px;
  }

  .title-main {
    font-size: 42px;
  }

  .title-sub {
    font-size: 27px;
  }

  .mock-book {
    width: 300px;
    height: 220px;
    left: 22px;
    bottom: 44px;
  }

  .pig {
    transform: scale(.78);
    transform-origin: left bottom;
  }

  .mud {
    transform: scale(.78);
    transform-origin: right bottom;
  }

  .vase {
    display: none;
  }
}
