<style>
  .sd-product-desc, .sd-product-desc * { box-sizing: border-box; }  

  .sd-product-desc {
    --sd-cream:        #F6EDE1;
    --sd-cream-border: #E9D9C2;
    --sd-white:        #FFFFFF;
    --sd-card-border:  #E6D8C5;
    --sd-brown-dark:   #3B2A1E;
    --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.6;
    max-width: 980px;
    margin: 0 auto;
  }

  .sd-product-desc section { margin-bottom: 24px; }

  /* ---------- Badge ---------- */
  .sd-badge {
    display: inline-block;
    background: var(--sd-brown-mid);
    color: var(--sd-text-on-dark);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 5px 14px;
    border-radius: 999px;
    margin-bottom: 16px;
  }

  /* ---------- Divider ---------- */
  .sd-divider { display: flex; justify-content: center; margin: 24px 0; }
  .sd-divider span {
    display: block; width: 48px; height: 3px;
    background: var(--sd-brown-mid); border-radius: 2px;
  }

  /* ---------- HERO  krémový blok ---------- */
  .sd-hero {
    background: var(--sd-cream);
    border: 1px solid var(--sd-cream-border);
    border-radius: 20px;
    padding: 36px 40px;
  }
  .sd-title {
    font-weight: 900;
    line-height: 1.2;
    color: var(--sd-text);
    margin-bottom: 14px;
  }
  .sd-accent { color: var(--sd-brown-mid); }
  .sd-intro { color: var(--sd-text-muted); margin-bottom: 22px; line-height: 1.65; }
  .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-weight: 700;
    padding: 6px 16px;
    border-radius: 999px;
    background: var(--sd-white);
  }

  /* ---------- Střídavé řady foto + text ---------- */
  .sd-row {
    display: flex;
    gap: 36px;
    align-items: center;
    background: var(--sd-white);
    border: 1px solid var(--sd-card-border);
    border-radius: 20px;
    padding: 32px 36px;
    overflow: hidden;
  }
  .sd-row-cream {
    background: var(--sd-cream);
    border-color: var(--sd-cream-border);
  }
  .sd-row-dark {
    background: var(--sd-brown-dark);
    border-color: transparent;
  }
  .sd-row-reverse { flex-direction: row-reverse; }

  .sd-row-text { flex: 1 1 0; min-width: 0; }
  .sd-row-image {
    flex: 0 0 280px;
    border-radius: 14px;
    overflow: hidden;
    align-self: stretch;
  }
  .sd-row-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    min-height: 220px;
  }

  /* ---------- Typografie ---------- */
  .sd-h2       { font-weight: 800; color: var(--sd-text);         margin-bottom: 12px; }
  .sd-h2-dark  { font-weight: 800; color: var(--sd-text-on-dark); margin-bottom: 12px; }
  .sd-h3       { font-weight: 700; color: var(--sd-text);         margin-bottom: 6px;  }
  .sd-h3-dark  { font-weight: 700; color: var(--sd-text-on-dark); margin-bottom: 6px;  }
  .sd-body      { color: var(--sd-text-muted); line-height: 1.65; }
  .sd-body strong { color: var(--sd-text); font-weight: 700; }
  .sd-body-dark { color: rgba(243,233,218,0.88); line-height: 1.65; }
  .sd-body-dark strong { color: var(--sd-text-on-dark); font-weight: 700; }
  .sd-body + .sd-body, .sd-body-dark + .sd-body-dark { margin-top: 12px; }

  /* ---------- Chuový profil ---------- */
  .sd-flavor-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 16px;
  }
  .sd-flavor-item {
    border: 1px solid var(--sd-card-border);
    border-radius: 14px;
    padding: 18px;
  }

  /* ---------- Citát ---------- */
  .sd-quote {
    background: var(--sd-brown-dark);
    border-radius: 18px;
    padding: 28px 36px;
    border-left: 6px solid var(--sd-brown-light);
  }
  .sd-quote p {
    color: var(--sd-text-on-dark);
    font-weight: 700;
    font-style: italic;
    line-height: 1.5;
  }

  /* ---------- Keyfacts list ---------- */
  .sd-keyfacts-list { list-style: none; margin-top: 12px; }
  .sd-keyfacts-list li {
    display: flex;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid var(--sd-card-border);
  }
  .sd-keyfacts-list li:last-child { border-bottom: none; }
  .sd-chevron { color: var(--sd-brown-mid); font-weight: 700; flex-shrink: 0; }
  .sd-keyfacts-list strong { color: var(--sd-text); font-weight: 700; }

  /* ---------- Komu sedne ---------- */
  .sd-fit-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 16px;
  }
  .sd-fit-item {
    border: 1px solid var(--sd-card-border);
    border-radius: 14px;
    padding: 18px;
    background: var(--sd-white);
  }

  /* ---------- FAQ ---------- */
  .sd-faq-item { margin-bottom: 20px; }
  .sd-faq-item:last-child { margin-bottom: 0; }
  .sd-faq-q {
    font-weight: 700;
    color: var(--sd-text);
    margin-bottom: 6px;
    display: flex;
    gap: 8px;
  }
  .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; line-height: 1.6; }

  /* ---------- Specs tabulka ---------- */
  #description .sd-specs-table { width: 100%; border-collapse: collapse; margin-top: 12px; }
  .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; }
  .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); }

  .sd-link { color: var(--sd-brown-mid); font-weight: 700; text-decoration: underline; }

  /* ---------- Legal ---------- */
  .sd-legal { color: var(--sd-text-muted); text-align: center; margin-top: 8px; }
  .sd-legal a { color: var(--sd-brown-mid); }

  /* ---------- Responsive ---------- */
  @media (max-width: 680px) {
    .sd-hero { padding: 24px; border-radius: 16px; }
    .sd-row, .sd-row.sd-row-reverse {
      flex-direction: column;
      padding: 24px;
      border-radius: 16px;
    }
    .sd-row-image { flex: 0 0 auto; width: 100%; max-height: 260px; align-self: auto; }
    .sd-row-image img { min-height: unset; max-height: 260px; }
    .sd-flavor-grid, .sd-fit-grid { grid-template-columns: 1fr; }
  }
</style>
