@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

:root {
  --red: #e52b32;
  --red-dark: #c81f27;
  --ink: #24323b;
  --muted: #68757d;
  --cream: #fffaf4;
  --soft: #f5f1eb;
  --line: #e8e1d8;
  --white: #ffffff;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: "DM Sans", Arial, sans-serif;
  line-height: 1.65;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(232,225,216,.8);
}
.nav-wrap {
  max-width: var(--max);
  margin: auto;
  padding: 12px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.brand img { width: 154px; height: auto; }
.main-nav { display: flex; align-items: center; gap: 28px; }
.main-nav a {
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  color: #46525a;
  transition: color .2s ease;
}
.main-nav a:hover, .main-nav a.active { color: var(--red); }
.main-nav .language {
  color: var(--red);
  border: 1px solid rgba(229,43,50,.25);
  border-radius: 999px;
  padding: 6px 12px;
}
.menu-toggle { display: none; border: 0; background: none; padding: 8px; cursor: pointer; }
.menu-toggle span { display:block; width:24px; height:2px; background:var(--ink); margin:5px 0; }

.hero {
  max-width: var(--max);
  margin: auto;
  padding: 86px 28px 100px;
  min-height: 720px;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  align-items: center;
  gap: 55px;
}
.eyebrow {
  color: var(--red);
  font-size: 12px;
  letter-spacing: .18em;
  font-weight: 700;
  margin: 0 0 15px;
}
h1, h2, h3 { line-height: 1.12; margin-top: 0; }
h1 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(48px, 6vw, 76px);
  letter-spacing: -.035em;
  margin-bottom: 25px;
}
h1 span { color: var(--red); }
.hero-text {
  max-width: 550px;
  color: var(--muted);
  font-size: 18px;
  margin-bottom: 30px;
}
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding: 0 22px;
  border-radius: 999px;
  text-decoration:none;
  font-weight:700;
  font-size:14px;
  transition: transform .2s ease, background .2s ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary { background:var(--red); color:white; }
.button-primary:hover { background:var(--red-dark); }
.button-secondary { background:#f5f1eb; color:var(--ink); }
.button-light { background:white; color:var(--red); }
.hero-note {
  margin-top: 28px;
  color: #7c858a;
  font-size: 13px;
  display:flex;
  align-items:center;
  gap:9px;
}
.note-dot {
  width:27px; height:27px; border-radius:50%;
  display:grid; place-items:center;
  background:#ffe6e6; color:var(--red); font-size:16px;
}
.hero-visual { position:relative; min-height:580px; }
.hero-card {
  position:absolute;
  overflow:hidden;
  border-radius:20px;
  box-shadow:0 22px 60px rgba(49,37,25,.14);
  background:white;
}
.hero-card img { width:100%; height:100%; object-fit:cover; }
.hero-card-main {
  width: 56%;
  height: 74%;
  left: 23%;
  top: 8%;
  transform: rotate(2deg);
}
.hero-card-small {
  width: 43%;
  height: 42%;
}
.hero-card-one { left:0; bottom:4%; transform:rotate(-5deg); }
.hero-card-two { right:0; bottom:0; transform:rotate(5deg); }
.floating-note {
  position:absolute; color:var(--red);
  font-size:50px; font-family:Georgia, serif;
}
.note-a { right:10%; top:0; transform:rotate(13deg); }
.note-b { left:8%; top:20%; font-size:35px; transform:rotate(-18deg); }

.intro, .books, .featured { padding: 110px 28px; }
.intro { background:var(--cream); }
.section-heading { max-width:var(--max); margin:0 auto 48px; }
.section-heading h2 {
  font-family:"Playfair Display", Georgia, serif;
  font-size:clamp(38px, 5vw, 58px);
  letter-spacing:-.025em;
  margin-bottom:14px;
}
.section-heading.centered { text-align:center; }
.section-heading.centered > p:last-child { max-width:620px; margin:0 auto; color:var(--muted); }
.intro-grid {
  max-width:var(--max);
  margin:auto;
  display:grid;
  grid-template-columns:1fr .85fr;
  gap:90px;
  align-items:center;
}
.intro-text { font-size:18px; color:var(--muted); }
.intro-text p { margin:0 0 20px; }
.intro-image img {
  width:100%; max-height:520px; object-fit:cover;
  border-radius:20px; box-shadow:0 18px 50px rgba(49,37,25,.12);
}
.text-link {
  display:inline-block; margin-top:10px;
  color:var(--red); font-weight:700; text-decoration:none;
}
.text-link span { margin-left:6px; }

.books { background:white; }
.book-feature {
  max-width:1000px; margin:auto;
  display:grid; grid-template-columns:.8fr 1.2fr;
  gap:80px; align-items:center;
}
.book-image { background:#f2f5f6; border-radius:24px; padding:28px; }
.book-image img { width:100%; border-radius:10px; box-shadow:0 16px 30px rgba(0,0,0,.12); }
.book-kicker { color:var(--red); font-weight:700; letter-spacing:.15em; font-size:12px; }
.book-copy h3 { font-family:"Playfair Display", Georgia, serif; font-size:44px; margin-bottom:16px; }
.book-copy > p:not(.book-kicker) { color:var(--muted); font-size:17px; }
.book-copy ul { list-style:none; padding:0; margin:25px 0 30px; }
.book-copy li { margin:9px 0; }
.book-copy li::before { content:"✓"; color:var(--red); font-weight:700; margin-right:10px; }

.gallery {
  background:#24323b;
  color:white;
  padding:110px 28px;
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:70px;
  align-items:center;
}
.gallery-copy { max-width:430px; margin-left:max(0px, calc((100vw - var(--max))/2)); }
.gallery-copy h2 {
  font-family:"Playfair Display", Georgia, serif;
  font-size:48px;
}
.gallery-copy p:not(.eyebrow) { color:#c8d0d3; font-size:17px; }
.gallery-grid {
  max-width:760px; margin-right:max(0px, calc((100vw - var(--max))/2));
  display:grid; grid-template-columns:1fr 1fr; gap:18px;
}
.gallery-item { margin:0; overflow:hidden; border-radius:16px; }
.gallery-item.tall { grid-row:span 2; }
.gallery-item img { width:100%; height:100%; object-fit:cover; min-height:220px; transition:transform .5s ease; }
.gallery-item:hover img { transform:scale(1.03); }

.featured { background:var(--soft); }
.article-grid {
  max-width:var(--max); margin:auto;
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
}
.article-card {
  background:white; border:1px solid var(--line);
  border-radius:18px; padding:30px;
}
.article-icon { color:var(--red); font-size:42px; line-height:1; margin-bottom:22px; }
.article-card h3 { font-family:"Playfair Display", Georgia, serif; font-size:27px; }
.article-card p { color:var(--muted); }
.article-card a { color:var(--red); text-decoration:none; font-weight:700; }

.cta {
  max-width:calc(var(--max) - 56px);
  margin:80px auto;
  padding:55px 60px;
  border-radius:24px;
  background:var(--red);
  color:white;
  display:flex; justify-content:space-between; align-items:center; gap:30px;
}
.cta .eyebrow { color:#ffd6d7; }
.cta h2 { font-family:"Playfair Display", Georgia, serif; font-size:45px; margin-bottom:8px; }
.cta p:last-child { margin:0; color:#ffe9e9; }

.site-footer { border-top:1px solid var(--line); padding:28px; }
.footer-inner {
  max-width:var(--max); margin:auto;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  color:#7b858b; font-size:13px;
}
.footer-inner img { width:110px; }
.footer-inner a { color:var(--red); text-decoration:none; font-weight:700; }

@media (max-width: 900px) {
  .main-nav { gap:17px; }
  .hero { grid-template-columns:1fr; padding-top:60px; }
  .hero-copy { max-width:720px; }
  .hero-visual { min-height:560px; }
  .intro-grid, .book-feature, .gallery { grid-template-columns:1fr; gap:45px; }
  .gallery-copy { margin-left:auto; margin-right:auto; max-width:var(--max); width:100%; }
  .gallery-grid { margin:auto; width:100%; }
  .article-grid { grid-template-columns:1fr; }
}

@media (max-width: 700px) {
  .nav-wrap { padding:10px 18px; }
  .brand img { width:125px; }
  .menu-toggle { display:block; }
  .main-nav {
    display:none;
    position:absolute; top:100%; left:0; right:0;
    background:white; border-bottom:1px solid var(--line);
    padding:18px; flex-direction:column; align-items:stretch; gap:0;
  }
  .main-nav.open { display:flex; }
  .main-nav a { padding:12px 8px; }
  .main-nav .language { text-align:center; }
  .hero { padding:55px 18px 70px; min-height:auto; gap:35px; }
  h1 { font-size:48px; }
  .hero-text { font-size:16px; }
  .hero-visual { min-height:430px; }
  .hero-card-main { width:58%; height:69%; left:21%; }
  .hero-card-small { width:46%; height:39%; }
  .intro, .books, .featured { padding:75px 18px; }
  .section-heading { margin-bottom:35px; }
  .section-heading h2 { font-size:39px; }
  .intro-grid { gap:35px; }
  .book-feature { gap:35px; }
  .book-copy h3 { font-size:37px; }
  .gallery { padding:75px 18px; }
  .gallery-copy h2 { font-size:39px; }
  .gallery-grid { gap:10px; }
  .gallery-item img { min-height:150px; }
  .cta { margin:55px 18px; padding:38px 28px; flex-direction:column; align-items:flex-start; }
  .cta h2 { font-size:37px; }
  .footer-inner { flex-direction:column; text-align:center; }
}


/* Level 1 book page */
.book-hero {
  max-width: var(--max);
  margin: auto;
  padding: 90px 28px 100px;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 90px;
  align-items: center;
}
.book-hero-image {
  background: #f2f5f6;
  padding: 34px;
  border-radius: 26px;
}
.book-hero-image img {
  width: 100%;
  border-radius: 10px;
  box-shadow: 0 22px 45px rgba(0,0,0,.15);
}
.book-hero-copy h1 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(50px, 6vw, 72px);
  letter-spacing: -.035em;
  margin-bottom: 24px;
}
.book-hero-copy h1 span { color: var(--red); }
.book-hero-copy p:not(.eyebrow) { color: var(--muted); font-size: 17px; }
.book-hero-copy .lead { font-size: 21px !important; color: var(--ink) !important; }
.book-price {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 30px 0;
}
.book-price strong { color: var(--red); font-size: 34px; }
.book-price span { color: var(--muted); font-size: 13px; }
.book-actions { display:flex; flex-wrap:wrap; gap:12px; }

.book-intro { background: var(--cream); padding: 105px 28px; }
.feature-grid {
  max-width: var(--max);
  margin: auto;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 18px;
}
.feature-grid article {
  background: white;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 30px;
}
.feature-number { color: var(--red); font-weight:700; margin-bottom:28px; }
.feature-grid h3, .audience-grid h3 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 25px;
}
.feature-grid p, .audience-grid p { color: var(--muted); }

.book-showcase {
  max-width: var(--max);
  margin: auto;
  padding: 110px 28px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 85px;
  align-items: center;
}
.showcase-image { overflow:hidden; border-radius:22px; }
.showcase-image img { width:100%; height:100%; object-fit:cover; }
.showcase-copy h2, .book-audience h2, .faq h2 {
  font-family:"Playfair Display", Georgia, serif;
  font-size:clamp(38px,5vw,55px);
}
.showcase-copy > p:not(.eyebrow) { color:var(--muted); font-size:17px; }
.check-list { list-style:none; padding:0; margin:28px 0 0; }
.check-list li { margin:13px 0; }
.check-list li::before { content:"✓"; color:var(--red); font-weight:700; margin-right:11px; }

.book-audience { background:var(--soft); padding:105px 28px; }
.audience-grid {
  max-width: var(--max);
  margin:auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.audience-grid > div {
  background:white;
  border-radius:18px;
  padding:34px;
  border:1px solid var(--line);
}

.faq { max-width:900px; margin:auto; padding:110px 28px; }
.faq-list { border-top:1px solid var(--line); }
.faq details { border-bottom:1px solid var(--line); padding:22px 0; }
.faq summary {
  cursor:pointer;
  list-style:none;
  font-weight:700;
  font-size:17px;
  padding-right:30px;
  position:relative;
}
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; position:absolute; right:0; color:var(--red); font-size:24px; top:-5px; }
.faq details[open] summary::after { content:"−"; }
.faq details p { color:var(--muted); margin:15px 30px 0 0; }

@media (max-width:900px) {
  .book-hero, .book-showcase { grid-template-columns:1fr; gap:45px; }
  .feature-grid { grid-template-columns:1fr 1fr; }
  .audience-grid { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .book-hero { padding:55px 18px 70px; }
  .book-hero-copy h1 { font-size:48px; }
  .book-intro, .book-audience { padding:75px 18px; }
  .feature-grid { grid-template-columns:1fr; }
  .book-showcase { padding:75px 18px; }
  .faq { padding:75px 18px; }
}


/* Testimonials copied from the original Level 1 page */
.testimonials {
  background: var(--soft);
  padding: 90px 28px;
}
.testimonial-grid {
  max-width: var(--max);
  margin: auto;
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  gap: 20px;
  align-items: stretch;
}
.testimonial-card {
  background: white;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 28px;
  box-shadow: 0 10px 28px rgba(49,37,25,.05);
}
.featured-testimonial {
  border-top: 4px solid var(--red);
}
.testimonial-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
}
.testimonial-avatar {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  border-radius: 50%;
  object-fit: cover;
}
.testimonial-placeholder {
  display: grid;
  place-items: center;
  background: #f2dfe0;
  color: var(--red);
  font-weight: 700;
  font-size: 22px;
}
.testimonial-top strong {
  display: block;
  margin-bottom: 6px;
}
.stars {
  width: 102px;
  height: auto;
  display: block;
}
.testimonial-card blockquote {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}
@media (max-width: 1000px) {
  .testimonial-grid { grid-template-columns: 1fr 1fr; }
  .featured-testimonial { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .testimonials { padding: 75px 18px; }
  .testimonial-grid { grid-template-columns: 1fr; }
  .featured-testimonial { grid-column: auto; }
}

/* Original Level 1 front cover */
.book-hero-image .original-front-cover {
  width: 100%;
  height: auto;
  object-fit: contain;
}


/* Original book imagery gallery */
.inside-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.inside-gallery figure,
.feature-image-grid figure {
  margin: 0;
  background: white;
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
}
.inside-gallery figure:first-child {
  grid-column: 1 / -1;
}
.inside-gallery img {
  display: block;
  width: 100%;
  height: 260px;
  object-fit: contain;
  background: #fff;
}
.inside-gallery figure:first-child img {
  height: 360px;
}
.inside-gallery figcaption,
.feature-image-grid figcaption {
  padding: 12px 15px 14px;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
}
.book-feature-images {
  background: var(--cream);
  padding: 100px 28px;
}
.feature-image-grid {
  max-width: var(--max);
  margin: auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.feature-image-grid img {
  display: block;
  width: 100%;
  height: 220px;
  object-fit: contain;
  background: white;
}
@media (max-width: 900px) {
  .feature-image-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .inside-gallery { grid-template-columns: 1fr; }
  .inside-gallery figure:first-child { grid-column: auto; }
  .inside-gallery img,
  .inside-gallery figure:first-child img { height: auto; max-height: 480px; }
  .book-feature-images { padding: 75px 18px; }
  .feature-image-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .feature-image-grid img { height: 180px; }
}

/* Updated Level 1 page layout */
.book-showcase.first-section {
  padding-top: 85px;
}
.main-book-cover {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  border-radius: 4px;
}
.book-showcase.first-section .showcase-copy h1 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(42px, 5vw, 58px);
  letter-spacing: -.025em;
  margin-bottom: 18px;
}
.buy-button {
  margin-top: 8px;
  min-width: 190px;
  min-height: 48px;
}
@media (max-width:700px) {
  .book-showcase.first-section {
    padding-top: 55px;
  }
}

/* What's Inside: cover/copy row followed by one horizontal row of clickable thumbnails */
.book-showcase.first-section {
  display: block;
}
.showcase-top {
  max-width: var(--max);
  margin: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 85px;
  align-items: center;
}
.book-showcase.first-section .showcase-image {
  overflow: hidden;
  border-radius: 22px;
  background: #fff;
}
.book-showcase.first-section .main-book-cover {
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 4px;
}
.book-showcase.first-section .showcase-copy h1 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(42px, 5vw, 58px);
  letter-spacing: -.025em;
  margin-bottom: 18px;
}
.book-showcase.first-section .inside-gallery {
  max-width: var(--max);
  margin: 38px auto 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
.book-showcase.first-section .inside-gallery .inside-thumb {
  display: block;
  width: 100%;
  height: 170px;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.book-showcase.first-section .inside-gallery .inside-thumb:hover,
.book-showcase.first-section .inside-gallery .inside-thumb:focus-visible {
  transform: translateY(-3px);
  border-color: var(--red);
  box-shadow: 0 10px 25px rgba(49,37,25,.12);
  outline: none;
}
.book-showcase.first-section .inside-gallery .inside-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background: #fff;
}
.image-lightbox {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 35px;
  background: rgba(20,25,28,.88);
}
.image-lightbox.open { display: flex; }
.image-lightbox img {
  max-width: min(900px, 92vw);
  max-height: 90vh;
  width: auto;
  height: auto;
  object-fit: contain;
  background: white;
  border-radius: 8px;
}
.lightbox-close {
  position: absolute;
  top: 18px;
  right: 25px;
  border: 0;
  background: transparent;
  color: white;
  font-size: 46px;
  line-height: 1;
  cursor: pointer;
}
@media (max-width: 900px) {
  .showcase-top {
    grid-template-columns: 1fr;
    gap: 45px;
  }
  .book-showcase.first-section .inside-gallery {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
  }
  .book-showcase.first-section .inside-gallery .inside-thumb {
    height: 115px;
  }
}
@media (max-width: 600px) {
  .book-showcase.first-section .inside-gallery .inside-thumb {
    height: 90px;
    border-radius: 8px;
  }
}

/* Price and centered Buy button */
.book-price-inline {
  color: var(--red);
  font-size: 34px;
  line-height: 1;
  font-weight: 700;
  margin: 22px 0 24px;
}
.book-showcase.first-section .showcase-copy {
  text-align: left;
}
.book-showcase.first-section .showcase-copy .buy-button {
  display: flex;
  width: fit-content;
  margin: 28px auto 0;
}
@media (max-width: 700px) {
  .book-showcase.first-section .showcase-copy .buy-button {
    margin-left: auto;
    margin-right: auto;
  }
}

/* Clearly visible book price */
.book-showcase.first-section .book-price-inline {
  display: block;
  color: var(--red);
  font-size: 36px;
  line-height: 1;
  font-weight: 700;
  margin: 22px 0 24px;
}

.purchase-info { background: var(--soft); padding: 80px 28px; text-align: center; }
.purchase-info-inner { max-width: 850px; margin: 0 auto; }
.purchase-info h2 { font-family: "Playfair Display", Georgia, serif; font-size: clamp(38px,5vw,54px); margin: 0 0 6px; }
.purchase-info-inner > p { font-size: 18px; margin-top: 0; }
.policy-links { margin: 36px 0; color: var(--muted); }
.policy-links a { color: var(--red); font-weight: 700; text-decoration: none; }
.credits { margin-top: 38px; padding-top: 25px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.policy-page { max-width: 900px; margin: 0 auto; padding: 85px 28px 110px; }
.policy-page h1, .policy-page h2 { font-family: "Playfair Display", Georgia, serif; }
.policy-page h1 { font-size: clamp(45px,6vw,64px); margin-bottom: 35px; }
.policy-page h2 { margin-top: 38px; font-size: 25px; }
.policy-page p { color: var(--muted); line-height: 1.8; }
.policy-page a { color: var(--red); }

.payment-methods {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 14px auto 0;
  max-width: 280px;
}
.payment-methods img {
  display: block;
  width: auto;
  height: 28px;
  max-width: 88px;
  object-fit: contain;
}
.payment-methods img:first-child {
  width: 230px;
  height: auto;
  max-width: 230px;
}
@media (max-width: 500px) {
  .payment-methods {
    max-width: 250px;
    gap: 7px;
  }
  .payment-methods img {
    height: 24px;
    max-width: 76px;
  }
  .payment-methods img:first-child {
    width: 210px;
    height: auto;
    max-width: 210px;
  }
}

/* Polish homepage */
.polish-hero {
  max-width: var(--max);
  margin: auto;
  padding: 75px 28px 90px;
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 60px;
  align-items: center;
}
.polish-hero h1 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(44px, 5.5vw, 70px);
  letter-spacing: -.035em;
}
.polish-hero h1 span { color: var(--red); }
.polish-hero-copy > p:not(.eyebrow) {
  color: var(--muted);
  font-size: 18px;
}
.polish-hero-image {
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 0 20px 55px rgba(49,37,25,.12);
}
.polish-hero-image img { width: 100%; height: auto; display: block; }
.polish-testimonials { background: var(--cream); padding: 100px 28px; }
.polish-quote { position: relative; }
.quote-mark { color: var(--red); font-family: Georgia, serif; font-size: 54px; line-height: .7; }
.polish-quote p { color: var(--muted); font-size: 15px; }
.polish-quote strong { color: var(--ink); }
.polish-intro { padding: 105px 28px; }
.polish-intro-inner {
  max-width: var(--max); margin: auto;
  display: grid; grid-template-columns: 1fr .75fr; gap: 80px; align-items: center;
}
.polish-intro h2, .polish-books h2, .polish-blog h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(38px, 5vw, 56px);
}
.polish-intro p:not(.eyebrow) { color: var(--muted); font-size: 17px; }
.polish-simple-card {
  background: var(--soft);
  border-radius: 22px;
  padding: 48px;
  text-align: center;
}
.music-symbol { color: var(--red); font-size: 70px; line-height: 1; }
.polish-simple-card h3 { font-family: "Playfair Display", Georgia, serif; font-size: 30px; }
.polish-simple-card p { color: var(--muted); }
.polish-books { background: var(--soft); padding: 105px 28px; }
.polish-book-grid {
  max-width: 900px; margin: auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
}
.polish-book-card {
  background: white; border: 1px solid var(--line); border-radius: 20px;
  overflow: hidden; text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}
.polish-book-card:hover { transform: translateY(-3px); box-shadow: 0 15px 35px rgba(49,37,25,.10); }
.polish-book-card img { width: 100%; height: 390px; object-fit: contain; background: white; }
.polish-book-card > div:last-child { padding: 22px; }
.polish-book-card h3 { font-family: "Playfair Display", Georgia, serif; font-size: 25px; }
.polish-book-card strong { color: var(--red); }
.polish-book-placeholder {
  height: 390px; display: grid; place-items: center; background: #f4f6f7;
}
.polish-book-placeholder span { color: var(--red); font-size: 100px; }
.polish-blog { padding: 105px 28px; }
.polish-blog-card {
  max-width: 800px; margin: auto; padding: 42px;
  border: 1px solid var(--line); border-radius: 22px;
  display: flex; align-items: center; gap: 35px;
}
.blog-symbol { color: var(--red); font-size: 70px; }
.polish-blog-card h3 { font-family: "Playfair Display", Georgia, serif; font-size: 31px; }
.polish-blog-card p { color: var(--muted); }
@media (max-width:900px) {
  .polish-hero, .polish-intro-inner { grid-template-columns: 1fr; }
  .polish-book-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width:700px) {
  .polish-hero { padding: 55px 18px 70px; }
  .polish-testimonials, .polish-intro, .polish-books, .polish-blog { padding: 75px 18px; }
  .polish-book-grid { grid-template-columns: 1fr; }
  .polish-book-card img, .polish-book-placeholder { height: 320px; }
  .polish-blog-card { flex-direction: column; text-align: center; }
}


/* M15 updates */
.book-showcase.first-section .showcase-copy > .eyebrow {
  text-align: center;
}
.book-showcase.first-section .book-price-inline {
  text-align: center;
  margin: 26px 0 8px;
}
.home-book-banner {
  max-width: 728px;
  margin: 0 auto 80px;
  padding: 0 28px;
}
.home-book-banner a {
  display: block;
  line-height: 0;
  transition: transform .2s ease, box-shadow .2s ease;
}
.home-book-banner a:hover,
.home-book-banner a:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(49,37,25,.14);
  outline: none;
}
.home-book-banner img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 700px) {
  .home-book-banner {
    margin-bottom: 55px;
    padding: 0 18px;
  }
}

/* Polish homepage book-photo hero */
.polish-book-showcase {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  align-items: center;
}

.polish-book-showcase img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
  box-shadow: 0 14px 30px rgba(0,0,0,.12);
}

@media (max-width: 760px) {
  .polish-book-showcase {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .polish-book-showcase img {
    max-width: 360px;
    margin: 0 auto;
  }
}

/* Polish hero: three-book showcase supplied by the site owner */
.polish-book-showcase-single {
  background: #fff;
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 0 20px 55px rgba(49,37,25,.12);
}
.polish-book-showcase-single img {
  width: 100%;
  height: auto;
  display: block;
}

/* M19: Polish hero books on the site's plain background */
.polish-books-plain-showcase {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  align-items: center;
  background: var(--white);
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}
.polish-books-plain-showcase img {
  width: 100%;
  height: auto;
  display: block;
  box-shadow: none;
}
@media (max-width: 760px) {
  .polish-books-plain-showcase {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .polish-books-plain-showcase img {
    width: min(290px, 100%);
    margin: 0 auto;
  }
}


/* M20: Polish book detail pages */
.stars-text { color: #f0ad00; letter-spacing: 2px; font-size: 16px; line-height: 1; }
.pl-book-page .showcase-copy h1 { font-family: "Playfair Display", Georgia, serif; font-size: clamp(42px, 5vw, 58px); letter-spacing: -.025em; margin-bottom: 18px; }
.pl-book-page .showcase-copy > p:not(.eyebrow) { color: var(--muted); font-size: 16px; }
.pl-book-page .check-list { list-style: none; padding: 0; margin: 24px 0 25px; }
.pl-book-page .check-list li { margin: 9px 0; }
.pl-book-page .check-list li::before { content: "✓"; color: var(--red); font-weight: 700; margin-right: 10px; }
.pl-book-page .book-showcase.first-section .showcase-copy > .eyebrow { text-align: left; }
.pl-book-page .book-showcase.first-section .book-price-inline { text-align: center; margin: 26px 0 8px; }
.pl-book-page .testimonial-card { min-height: 100%; }
.pl-book-page .book-audience { padding: 100px 28px; background: var(--soft); }
.audience-grid { max-width: var(--max); margin: auto; display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.audience-grid article { background: white; border: 1px solid var(--line); border-radius: 18px; padding: 30px; }
.audience-grid h3 { font-family: "Playfair Display", Georgia, serif; font-size: 28px; margin-bottom: 12px; }
.audience-grid p { color: var(--muted); margin: 0; }
.book-nav-links { max-width: var(--max); margin: 0 auto; padding: 38px 28px 70px; display: flex; justify-content: space-between; gap: 20px; }
.book-nav-links a { color: var(--red); font-weight: 700; text-decoration: none; }
.polish-book-grid.three-books { max-width: 1120px; grid-template-columns: repeat(3,1fr); }
.polish-book-grid.three-books .polish-book-card img { height: 330px; object-fit: contain; }
@media (max-width: 900px) { .audience-grid { grid-template-columns: 1fr; } .polish-book-grid.three-books { grid-template-columns: 1fr 1fr; } }
@media (max-width: 700px) { .book-nav-links { padding-left:18px; padding-right:18px; flex-direction: column; align-items:center; } .polish-book-grid.three-books { grid-template-columns: 1fr; } .polish-book-grid.three-books .polish-book-card img { height: 320px; } .pl-book-page .book-showcase.first-section .showcase-copy > .eyebrow { text-align: center; } }

/* M21: Keep testimonial stars after the testimonial text */
.testimonial-stars {
  margin-top: 16px;
}
.polish-quote .testimonial-stars {
  margin-top: 14px;
}

/* M24: Polish Books dropdown — opens on hover and remains open briefly while moving to the submenu */
.nav-dropdown {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
}
.nav-dropdown-toggle {
  display: block;
}
.nav-submenu {
  position: absolute;
  top: calc(100% + 1px);
  left: 50%;
  transform: translateX(-50%) translateY(-5px);
  min-width: 190px;
  padding: 8px;
  background: rgba(255,255,255,.98);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 14px 30px rgba(49,37,25,.12);
  display: flex;
  flex-direction: column;
  gap: 2px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease, visibility 0s linear .8s;
}
.nav-submenu::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  height: 12px;
}
.nav-submenu a {
  display: block;
  padding: 10px 13px;
  white-space: nowrap;
  border-radius: 8px;
  text-decoration: none;
}
.nav-submenu a:hover, .nav-submenu a:focus-visible {
  background: var(--soft);
}
.nav-dropdown:hover .nav-submenu,
.nav-dropdown:focus-within .nav-submenu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
  transition-delay: 0s, 0s, 0s;
}
@media (max-width: 700px) {
  .nav-dropdown {
    display: block;
    height: auto;
  }
  .nav-dropdown-toggle {
    padding: 12px 8px;
  }
  .nav-submenu {
    position: static;
    transform: none;
    min-width: 0;
    padding: 0 0 4px 14px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .nav-submenu::before { display:none; }
  .nav-submenu a { padding: 10px 8px; }
}


/* Polish homepage contact CTA */
.cta-centered {
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.cta-centered .button { margin-top: 1rem; }

.order-page{padding:90px 28px 110px;background:var(--white)}
.order-card{max-width:1050px;margin:0 auto;display:grid;grid-template-columns:.65fr 1.35fr;gap:70px;align-items:start}
.order-cover{background:#f5f1eb;border-radius:20px;padding:25px;position:sticky;top:110px}
.order-cover img{width:100%;max-height:650px;object-fit:contain;border-radius:10px}
.order-content{max-width:680px}
.order-content h1{font-size:clamp(42px,5vw,64px);margin-bottom:22px}
.order-content>p:not(.eyebrow){color:var(--muted);font-size:16px}
.order-form{display:grid;gap:17px;margin:30px 0}
.order-form label{display:grid;gap:7px;font-weight:600;font-size:14px;color:var(--ink)}
.order-form input[type=text],.order-form input[type=email],.order-form input[type=number],.order-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px 14px;font:inherit;background:#fff}
.order-form textarea{resize:vertical}
.order-form .check{display:flex;grid-template-columns:none;align-items:flex-start;gap:9px;font-weight:400;color:var(--muted)}
.order-form .check input{margin-top:5px}
.order-note{font-size:14px!important;color:var(--muted);margin:16px 0}
.order-price{font-size:22px!important;color:var(--ink)!important}
@media(max-width:800px){.order-card{grid-template-columns:1fr;gap:35px}.order-cover{position:static;max-width:430px;margin:auto}.order-content{max-width:none}.order-page{padding:60px 20px 80px}}


/* M29: bulk-order notice below the Buy Now button */
.bulk-order-note { margin: 14px 0 0; font-size: 14px; line-height: 1.55; max-width: 560px; }
.bulk-order-note a { color: inherit; text-decoration: underline; }

/* M29: supplied cover artwork is transparent; do not add a background behind it */
.order-cover { background: transparent; padding: 0; border-radius: 0; }
.order-cover img { border-radius: 0; }

/* Polish book overview */
.books-overview{max-width:1160px;margin:0 auto;padding:64px 28px 90px;min-height:65vh}
.books-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;align-items:start}
.books-overview-card{text-align:center;display:flex;flex-direction:column;align-items:center}
.books-overview-cover{display:flex;width:100%;height:310px;align-items:center;justify-content:center}
.books-overview-cover img{display:block;max-width:100%;width:auto;max-height:100%;height:auto;object-fit:contain}
.books-overview-card h2{font-size:22px;line-height:1.4;margin:24px 0 20px;min-height:62px;font-weight:700}
.books-overview-card h2 strong{font-weight:700}
.book-link-detail{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.books-overview{padding:40px 22px 60px}.books-overview-grid{grid-template-columns:1fr;gap:50px}.books-overview-cover{height:280px}.books-overview-card h2{min-height:0;max-width:320px;margin:20px 0 16px}}

/* M34: Polish biographies, testimonials and mobile book text */
#opinie{scroll-margin-top:110px}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
.about-page{max-width:1160px;margin:0 auto;padding:60px 28px 80px}
.about-person{display:grid;grid-template-columns:300px minmax(0,1fr);gap:48px;align-items:start;margin:0 0 70px}
.about-person>img{display:block;width:100%;height:auto}
.about-bio{line-height:1.8}.about-bio h2{margin-top:0}.about-bio p{margin-bottom:18px}
@media(max-width:760px){
main.pl-book-page,main.pl-book-page p,main.pl-book-page h1,main.pl-book-page h2,main.pl-book-page h3,main.pl-book-page li,main.pl-book-page blockquote,.pl-book-page .book-showcase.first-section .showcase-copy>.eyebrow{text-align:center}
.pl-book-page .testimonial-top,.pl-book-page .payment-methods{justify-content:center}
.about-person{grid-template-columns:1fr;gap:28px;margin-bottom:50px}.about-person>img{max-width:320px;margin:auto}.about-page{padding:38px 22px 55px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* M39: Piosenki na Cały Rok and Polish book bundles */
.product-page{background:var(--white)}
.product-hero{max-width:1160px;margin:0 auto;padding:72px 28px 82px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:68px;align-items:center}
.product-hero-art{display:flex;align-items:center;justify-content:center}
.product-hero-art img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain}
.product-hero-copy h1,.bundle-page h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(44px,5vw,64px);line-height:1.08;letter-spacing:-.025em;margin:0 0 20px}
.product-hero-copy>p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.75}
.song-list{list-style:none;padding:0;margin:25px 0;columns:2;column-gap:28px}
.song-list li{break-inside:avoid;margin:0 0 10px;padding-left:22px;position:relative}
.song-list li::before{content:"♪";position:absolute;left:0;color:var(--red);font-weight:700}
.product-price{font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:38px;margin:24px 0 16px;color:var(--ink)}
.product-payment{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:18px}
.product-payment img{width:130px;height:auto}
.product-purchase{text-align:center;margin-top:24px}
.product-purchase .separate-tracks-note{color:var(--muted);font-size:16px;line-height:1.65;margin:0 auto 10px;max-width:520px}
.product-purchase .separate-tracks-note a{color:var(--red);font-weight:700}
.product-purchase .product-price{text-align:center;margin:10px 0 16px}
.product-purchase .buy-button{display:table;margin-left:auto;margin-right:auto}
.product-purchase .product-payment{justify-content:center;margin-top:16px}
.product-testimonials{padding:82px 28px;background:var(--cream)}
.product-testimonial-grid{max-width:1050px;margin:34px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.product-testimonial{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 12px 32px rgba(49,37,25,.07)}
.product-testimonial blockquote{margin:0;color:var(--muted);font-size:17px;line-height:1.75}
.product-testimonial cite{display:block;margin-top:20px;font-style:normal;font-weight:700}
.product-testimonial img{display:block;width:150px;height:auto;margin-top:14px}
.sheet-samples{max-width:1160px;margin:0 auto;padding:88px 28px}
.sheet-sample-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:35px}
.sheet-sample-grid figure{margin:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 15px 38px rgba(49,37,25,.08)}
.sheet-sample-grid img{display:block;width:100%;height:auto}
.sheet-sample-grid figcaption{text-align:center;font-weight:700;padding:15px}
.included-audio{padding:82px 28px;background:var(--soft)}
.included-audio-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1fr);gap:55px;align-items:center}
.included-audio img{display:block;width:100%;height:auto;max-height:470px;object-fit:contain}
.included-audio h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(36px,4vw,50px);margin:0 0 16px}
.included-audio p{font-size:18px;line-height:1.75;color:var(--muted)}
.video-section{max-width:1160px;margin:0 auto;padding:90px 28px 100px}
.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:38px}
.video-frame{position:relative;aspect-ratio:16/9;background:#111;border-radius:14px;overflow:hidden;box-shadow:0 12px 30px rgba(49,37,25,.12)}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.bundle-page{max-width:1160px;margin:0 auto;padding:66px 28px 100px;min-height:65vh}
.bundle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:40px;align-items:stretch}
.bundle-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 14px 36px rgba(49,37,25,.08);text-align:center}
.bundle-image{display:flex;align-items:center;justify-content:center;background:#fff;padding:20px;min-height:260px}
.bundle-image img{display:block;width:100%;height:230px;object-fit:contain}
.bundle-card-content{padding:0 24px 28px;display:flex;flex-direction:column;align-items:center;flex:1}
.bundle-card h2{font-family:"Playfair Display",Georgia,serif;font-size:27px;line-height:1.25;margin:10px 0 8px}
.bundle-card .bundle-price{font-weight:800;font-size:24px;color:var(--red);margin:4px 0 20px}
.bundle-card .button{margin-top:auto}
.bundle-notice{max-width:820px;margin:42px auto 0;padding:20px 24px;border-radius:14px;background:var(--soft);text-align:center;font-weight:600;line-height:1.65}
.bundle-order-cover img{max-height:440px}
@media(max-width:900px){
  .product-hero{grid-template-columns:1fr;gap:38px;text-align:center;padding-top:50px}
  .product-hero-art img{max-width:680px}
  .product-payment{justify-content:center}
  .included-audio-inner{grid-template-columns:1fr;text-align:center}
  .included-audio img{max-width:500px;margin:auto}
  .video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bundle-grid{grid-template-columns:1fr;max-width:680px;margin-left:auto;margin-right:auto}
  .bundle-image img{height:auto;max-height:330px}
}
@media(max-width:650px){
  .product-hero,.sheet-samples,.video-section,.bundle-page{padding-left:20px;padding-right:20px}
  .song-list{columns:1;text-align:left;max-width:360px;margin-left:auto;margin-right:auto}
  .product-testimonial-grid,.sheet-sample-grid,.video-grid{grid-template-columns:1fr}
  .product-testimonials,.included-audio{padding:65px 20px}
  .product-testimonial{text-align:center}
  .product-testimonial img{margin-left:auto;margin-right:auto}
}

/* M40: playable MP3 demos */
.audio-products-page{max-width:1040px;margin:0 auto;padding:66px 28px 100px;min-height:65vh}
.audio-section{margin-top:52px}
.audio-section-heading{margin-bottom:24px}
.audio-section-heading h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(34px,4vw,46px);margin:0 0 8px}
.audio-section-heading p{color:var(--muted);margin:0}
.audio-product-list{display:grid;gap:18px}
.audio-product-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,360px) auto;gap:24px;align-items:center;padding:23px 26px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 9px 28px rgba(49,37,25,.06)}
.audio-product-title h3{font-size:20px;line-height:1.35;margin:0 0 4px}
.audio-product-title p{margin:0;color:var(--muted);font-size:14px}
.audio-product-card audio{display:block;width:100%;height:42px}
.audio-product-card .button{white-space:nowrap}
.audio-back-link{display:inline-flex;margin-top:42px;color:var(--red);font-weight:700;text-decoration:none}
.audio-order-art{display:flex;align-items:center;justify-content:center;min-height:300px;border-radius:22px;background:var(--soft);font-family:"Playfair Display",Georgia,serif;font-size:92px;color:var(--red)}
@media(max-width:830px){.audio-product-card{grid-template-columns:1fr}.audio-product-card .button{justify-self:start}.audio-order-art{min-height:220px}}
@media(max-width:650px){.audio-products-page{padding:42px 20px 70px;text-align:center}.audio-product-card{padding:22px 18px}.audio-product-card .button{justify-self:center}.audio-section{margin-top:42px}}
