<style>
  .sd-product-desc, .sd-product-desc * { box-sizing: border-box; }
  .sd-product-desc h1, .sd-product-desc h2, .sd-product-desc h3, .sd-product-desc h4,
  .sd-product-desc p, .sd-product-desc ul, .sd-product-desc li, .sd-product-desc table,
  .sd-product-desc blockquote { margin: 0; padding: 0; }

  .sd-product-desc {
    --sd-cream: #F6EDE1;
    --sd-cream-border: #E9D9C2;
    --sd-white: #FFFFFF;
    --sd-card-border: #E6D8C5;
    --sd-brown-dark: #3B2A1E;
    --sd-brown-darker: #2E2014;
    --sd-brown-mid: #8B5A30;
    --sd-brown-light: #C9A876;
    --sd-text: #2B2118;
    --sd-text-muted: #5C5046;
    --sd-text-on-dark: #F3E9DA;

    color: var(--sd-text);
    line-height: 1.55;
    max-width: 980px;
    margin: 0 auto;
  }

  .sd-product-desc section,
  .sd-product-desc .sd-card {
    margin-bottom: 28px;
  }

  /* ---------- Eyebrow badge ---------- */
  .sd-badge {
    display: inline-block;
    background: var(--sd-brown-mid);
    color: var(--sd-text-on-dark);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 16px;
  }

  /* ---------- Hero ---------- */
  .sd-hero {
    background: var(--sd-cream);
    border: 1px solid var(--sd-cream-border);
    border-radius: 20px;
    padding: 32px;
  }
  .sd-hero-grid {
    display: flex;
    gap: 32px;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .sd-hero-content { flex: 1 1 320px; min-width: 280px; }
  .sd-hero-image {
    flex: 0 0 220px;
    background: var(--sd-white);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .sd-hero-image img { max-width: 100%; height: auto; display: block; }

  #description .sd-title {
    font-size: 1.9rem;
    font-weight: 800;
    line-height: 1.2;
    color: var(--sd-text);
    margin: 10px 0 16px 0;
  }
  .sd-accent { color: var(--sd-brown-mid); }

  .sd-intro { font-size: 1rem; color: var(--sd-text-muted); margin-bottom: 20px; }
  .sd-intro strong { color: var(--sd-text); font-weight: 700; }

  .sd-pills { display: flex; flex-wrap: wrap; gap: 10px; }
  .sd-pill {
    display: inline-block;
    border: 1px solid var(--sd-brown-mid);
    color: var(--sd-brown-mid);
    font-size: 0.85rem;
    font-weight: 700;
    padding: 7px 16px;
    border-radius: 999px;
    background: var(--sd-white);
  }

  /* ---------- Divider ---------- */
  .sd-divider { display: flex; justify-content: center; margin: 28px 0; }
  .sd-divider span {
    display: block;
    width: 48px;
    height: 3px;
    background: var(--sd-brown-mid);
    border-radius: 2px;
  }

  /* ---------- Generic white card ---------- */
  .sd-card-white {
    background: var(--sd-white);
    border: 1px solid var(--sd-card-border);
    border-radius: 20px;
    padding: 32px;
  }

#description  .sd-h2 { font-size: 1.4rem; font-weight: 800; color: var(--sd-text); margin: 0 0 15px 0; }
#description  .sd-h3 { font-size: 1.05rem; font-weight: 700; color: var(--sd-text); margin: 0 0 15px 0; }
  .sd-body { color: var(--sd-text-muted); font-size: 0.98rem; }
  .sd-body strong { color: var(--sd-text); font-weight: 700; }

  /* ---------- Chuový profil ---------- */
  .sd-flavor-intro { margin-bottom: 20px; }
  .sd-flavor-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
  .sd-flavor-item {
    border: 1px solid var(--sd-card-border);
    border-radius: 14px;
    padding: 18px;
  }

  /* ---------- Cream info section ---------- */
  .sd-info {
    background: var(--sd-cream);
    border: 1px solid var(--sd-cream-border);
    border-radius: 20px;
    padding: 32px;
  }
  .sd-info p + p { margin-top: 12px; }
  .sd-link { color: var(--sd-brown-mid); font-weight: 700; text-decoration: underline; }

  /* ---------- Quote block ---------- */
  .sd-quote {
    background: var(--sd-brown-dark);
    border-radius: 18px;
    padding: 28px 32px;
    border-left: 6px solid var(--sd-brown-light);
  }
  .sd-quote p {
    color: var(--sd-text-on-dark);
    font-size: 1.1rem;
    font-style: italic;
  }

  /* ---------- Co o doutníku potřebujete vědět ---------- */
  .sd-keyfacts-grid {
    display: flex;
    gap: 28px;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .sd-keyfacts-image {
    flex: 0 0 200px;
    border-radius: 14px;
    overflow: hidden;
  }
  .sd-keyfacts-image img { width: 100%; height: auto; display: block; }
  .sd-keyfacts-list { flex: 1 1 320px; min-width: 260px; list-style: none; }
  .sd-keyfacts-list li {
    display: flex;
    gap: 10px;
    margin-bottom: 14px;
  }
  .sd-keyfacts-list li:last-child { margin-bottom: 0; }
  .sd-keyfacts-list .sd-chevron { color: var(--sd-brown-mid); font-weight: 700; flex-shrink: 0; }
  .sd-keyfacts-list strong { color: var(--sd-text); font-weight: 700; }
  .sd-keyfacts-list span.sd-body { color: var(--sd-text-muted); }

  /* ---------- Komu sedne ---------- */
  .sd-fit-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
  .sd-fit-item {
    border: 1px solid var(--sd-card-border);
    border-radius: 14px;
    padding: 18px;
  }

  /* ---------- FAQ ---------- */
  .sd-faq-item { margin-bottom: 20px; }
  .sd-faq-item:last-child { margin-bottom: 0; }
  .sd-faq-q {
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--sd-text);
    margin-bottom: 6px;
    display: flex;
    gap: 8px;
  }
  .sd-faq-q .sd-q-mark {
    color: var(--sd-brown-mid);
    font-weight: 800;
    flex-shrink: 0;
  }
  .sd-faq-a { color: var(--sd-text-muted); padding-left: 22px; }

  /* ---------- Mohlo by vás zajímat ---------- */
  .sd-related-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .sd-related-item {
    background: var(--sd-white);
    border: 1px solid var(--sd-card-border);
    border-radius: 14px;
    padding: 18px;
    display: block;
    text-decoration: none;
    color: inherit;
  }
  .sd-related-item .sd-h3 { color: var(--sd-text); }
  .sd-related-item .sd-body { color: var(--sd-text-muted); }

  /* ---------- Brand block ---------- */
  .sd-brand {
    background: var(--sd-brown-dark);
    border-radius: 20px;
    padding: 32px;
  }
  #description .sd-brand .sd-h2 { color: #fff; }
  .sd-brand p { color: var(--sd-text-on-dark); opacity: 0.92; }
  .sd-brand p + p { margin-top: 12px; }
  .sd-brand strong { color: var(--sd-brown-light); font-weight: 700; }

  /* ---------- Specifikace ---------- */
  .sd-specs-table { width: 100%; border-collapse: collapse; }
  .sd-specs-table tr { border-bottom: 1px solid var(--sd-card-border); }
  .sd-specs-table tr:last-child { border-bottom: none; }
  .sd-specs-table td { padding: 10px 0; font-size: 0.95rem; }
  .sd-specs-table td:first-child { font-weight: 700; color: var(--sd-text); width: 45%; }
  .sd-specs-table td:last-child { color: var(--sd-text-muted); }

  /* ---------- Legal ---------- */
  .sd-legal {
    font-size: 0.8rem;
    color: var(--sd-text-muted);
    text-align: center;
    margin-top: 8px;
  }
  .sd-legal a { color: var(--sd-brown-mid); }

  /* ---------- Responsive ---------- */
  @media (max-width: 640px) {
    .sd-hero, .sd-card-white, .sd-info, .sd-brand { padding: 22px; border-radius: 16px; }
    .sd-title { font-size: 1.5rem; }
    .sd-hero-image { flex: 0 0 100%; max-width: 220px; margin: 0 auto; }
    .sd-flavor-grid, .sd-fit-grid, .sd-related-grid { grid-template-columns: 1fr; }
    .sd-keyfacts-image { flex: 0 0 100%; max-width: 220px; margin: 0 auto; }
  }
</style>
