.rg-size-guide {
  --rg-ink: var(--colore-testo, #111111);
  --rg-muted: var(--colore-testo-secondario, #555555);
  --rg-line: var(--colore-bordo, #dddddd);
  --rg-line-soft: var(--colore-bordo-subtly, #e5e5e5);
  --rg-surface: var(--colore-superficie, #ececec);
  --rg-surface-raised: var(--colore-superficie-elevata, #ffffff);
  --rg-paper: var(--colore-sfondo, #ffffff);
  --rg-accent: var(--colore-accento, #ffcc00);
  --rg-accent-hover: var(--colore-accento-hover, #e6b800);
  --rg-accent-soft: var(--colore-accento-light, #fff9e6);
  --rg-inverse: var(--colore-superficie-inversa, #111111);
  --rg-inverse-text: var(--colore-testo-inverso, #f9f9f9);
  color: var(--rg-ink);
  background: var(--colore-sfondo, #ffffff);
  font-family: var(--font-corpo, Stack Sans, Geist, Arial, sans-serif);
  font-size: var(--dimensione-testo, 1rem);
  font-weight: var(--body-weight, 300);
  line-height: var(--line-height, 1.35);
  letter-spacing: 0.3px;
  margin: 0 auto;
  max-width: 1160px;
  padding: 0 22px 72px;
}
.rg-size-guide * { box-sizing: border-box; }
.rg-size-guide h1, .rg-size-guide h2, .rg-size-guide h3, .rg-size-guide p { margin-top: 0; }
.rg-size-guide h1, .rg-size-guide h2, .rg-size-guide h3 {
  color: var(--rg-ink);
  font-family: var(--font-titolo, "Playfair Display", Georgia, serif);
  font-weight: var(--title-weight, 600);
  line-height: calc(1.25 * var(--line-height, 1.35));
  letter-spacing: normal;
  text-wrap: balance;
}
.rg-size-guide h1 { font-size: var(--dimensione-titolo-principale, 1.75rem); max-width: 18ch; margin-bottom: 20px; }
.rg-size-guide h2 { font-size: var(--dimensione-titolo, 1.4rem); margin-bottom: 16px; }
.rg-size-guide h3 { font-size: var(--dimensione-sottotitolo, 1.15rem); margin-bottom: 12px; }
.rg-size-guide p { color: var(--rg-muted); font-size: var(--dimensione-testo, 1rem); }
.rg-size-guide strong { color: var(--rg-ink); font-weight: var(--body-weight-grassetto, 500); }
.rg-size-guide a { color: inherit; }
.rg-hero { display: grid; grid-template-columns: 1fr .92fr; align-items: center; gap: 48px; padding: 52px 0 36px; }
.rg-hero__lead { font-size: var(--dimensione-sottotitolo, 1.15rem) !important; max-width: 58ch; margin-bottom: 28px; }
.rg-hero__image { width: 100%; height: auto; display: block; border-radius: var(--angolo-leggero, 10px); box-shadow: var(--colore-superficie-inversa-md, 0 4px 12px rgba(0,0,0,.08)); }
.rg-eyebrow { text-transform: uppercase; letter-spacing: .14em; color: var(--rg-ink) !important; font-size: var(--dimensione-testo-piccolo, .75rem) !important; font-weight: var(--title-weight, 600); margin-bottom: 13px; }
.rg-button { display: inline-flex; gap: 16px; align-items: center; background: var(--rg-accent); color: var(--colore-testo-accento, #111111) !important; text-decoration: none !important; padding: 13px 19px; border: 1px solid var(--rg-accent); border-radius: var(--angolo-leggero, 10px); font-weight: var(--body-weight-grassetto, 500); transition: background-color .2s ease, border-color .2s ease; }
.rg-button:hover { background: var(--rg-accent-hover); border-color: var(--rg-accent-hover); }
.rg-button:focus-visible { outline: 2px solid var(--rg-ink); outline-offset: 3px; }
.rg-standard { display: flex; gap: 18px; align-items: center; background: var(--rg-accent-soft); border: 1px solid var(--rg-line); border-radius: var(--angolo-leggero, 10px); padding: 22px 26px; margin: 20px 0 28px; }
.rg-standard p { margin: 0; }
.rg-standard__mark { display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; border: 1px solid var(--rg-ink); border-radius: var(--angolo-tondo, 999px); font-weight: var(--title-weight, 600); color: var(--rg-ink); }
.rg-toc { display: flex; flex-wrap: wrap; gap: 10px 24px; border-bottom: 1px solid var(--rg-line); padding: 15px 0 24px; margin-bottom: 56px; }
.rg-toc p { width: 100%; margin: 0; color: var(--rg-ink); font-weight: var(--body-weight-grassetto, 500); }
.rg-toc a { color: var(--rg-muted); text-decoration-color: var(--rg-accent-hover); text-underline-offset: 4px; }
.rg-section { padding: 30px 0 42px; scroll-margin-top: 30px; }
.rg-section > p:not(.rg-eyebrow) { max-width: 78ch; }
.rg-methods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.rg-card { padding: 25px 23px 22px; border: 1px solid var(--rg-line); border-radius: var(--angolo-leggero, 10px); background: var(--rg-surface-raised); }
.rg-card p { font-size: var(--dimensione-testo, 1rem); }
.rg-card img { display: block; width: 100%; height: auto; margin: 18px 0; }
.rg-step { font-size: var(--dimensione-testo-piccolo, .75rem); letter-spacing: .13em; color: var(--rg-ink); font-weight: var(--title-weight, 600); display: block; margin-bottom: 18px; }
.rg-tip { margin-top: 20px; background: var(--rg-accent-soft); border-radius: var(--angolo-leggero, 10px); padding: 17px 18px; color: var(--rg-muted); font-size: var(--dimensione-testo-secondario, .875rem); }
.rg-table-section { background: var(--rg-surface); border-radius: var(--angolo-leggero, 10px); padding: 38px clamp(18px, 4vw, 48px); margin: 28px -1px; }
.rg-calculator { display: grid; grid-template-columns: 1fr minmax(210px, .55fr); gap: 6px 22px; align-items: end; background: var(--rg-surface-raised); border: 1px solid var(--rg-line); border-radius: var(--angolo-leggero, 10px); padding: 22px; margin: 24px 0; }
.rg-calculator h3 { margin-bottom: 6px; }
.rg-calculator p { margin: 0; }
.rg-calculator label { font-size: var(--dimensione-testo-secondario, .875rem); font-weight: var(--body-weight-grassetto, 500); color: var(--rg-ink); }
.rg-calc__controls { display: flex; gap: 8px; }
.rg-calc__controls input { min-width: 0; width: 100%; border: 1px solid var(--rg-line); padding: 10px 12px; font: inherit; color: var(--rg-ink); background: var(--rg-paper); border-radius: var(--angolo-leggero, 10px); }
.rg-calc__controls input:focus-visible { outline: 2px solid var(--rg-ink); outline-offset: 2px; }
.rg-calc__controls button { border: 1px solid var(--rg-accent); background: var(--rg-accent); color: var(--colore-testo-accento, #111111); padding: 10px 17px; font: inherit; font-weight: var(--body-weight-grassetto, 500); cursor: pointer; border-radius: var(--angolo-leggero, 10px); }
.rg-calc__controls button:hover { background: var(--rg-accent-hover); border-color: var(--rg-accent-hover); }
.rg-calc__result { grid-column: 1 / -1; min-height: 1.5em; margin-top: 8px !important; color: var(--rg-ink) !important; font-weight: var(--body-weight-grassetto, 500); }
.rg-table-wrap { overflow-x: auto; background: var(--rg-surface-raised); border-radius: var(--angolo-leggero, 10px); }
.rg-size-guide table { width: 100%; border-collapse: collapse; text-align: left; }
.rg-size-guide caption { caption-side: top; text-align: left; color: var(--rg-muted); padding: 0 0 12px; font-size: var(--dimensione-testo-secondario, .875rem); }
.rg-size-guide th, .rg-size-guide td { padding: 10px 15px; border-bottom: 1px solid var(--rg-line-soft); font-variant-numeric: tabular-nums; }
.rg-size-guide thead th { background: var(--rg-accent-soft); font-size: var(--dimensione-testo-secondario, .875rem); font-weight: var(--body-weight-grassetto, 500); }
.rg-size-guide tbody th { font-weight: var(--body-weight-grassetto, 500); }
.rg-size-guide tbody tr:hover { background: var(--colore-accento-trasparente, rgba(255, 204, 0, .15)); }
.rg-caption { font-size: var(--dimensione-testo-secondario, .875rem) !important; margin: 14px 0 0; }
.rg-fit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 26px; }
.rg-fit-grid > div { border-top: 2px solid var(--rg-accent); padding-top: 18px; }
.rg-conditions { background: var(--rg-surface); border-radius: var(--angolo-leggero, 10px); padding: 34px clamp(20px, 4vw, 44px); margin: 8px 0 28px; }
.rg-conditions li { color: var(--rg-muted); padding: 4px 0; }
.rg-faq { border-top: 1px solid var(--rg-line); }
.rg-faq details { border-bottom: 1px solid var(--rg-line); padding: 18px 2px; }
.rg-faq summary { font-size: var(--dimensione-testo, 1rem); font-weight: var(--body-weight-grassetto, 500); cursor: pointer; list-style: none; position: relative; padding-right: 32px; }
.rg-faq summary::-webkit-details-marker { display: none; }
.rg-faq summary:after { content: '+'; position: absolute; right: 4px; top: -2px; color: var(--rg-ink); font-size: var(--dimensione-sottotitolo, 1.15rem); font-weight: var(--body-weight, 300); }
.rg-faq details[open] summary:after { content: '\2212'; }
.rg-faq details p { margin: 12px 28px 0 0; }
.rg-help { background: var(--rg-inverse); color: var(--rg-inverse-text); border-radius: var(--angolo-leggero, 10px); padding: clamp(26px, 5vw, 52px); margin: 52px 0 0; }
.rg-help h2, .rg-help p { color: var(--rg-inverse-text); }
.rg-help p:not(.rg-eyebrow) { max-width: 72ch; color: var(--rg-inverse-text); }
.rg-help .rg-eyebrow { color: var(--rg-accent) !important; }
.rg-button--light { background: var(--rg-paper); border-color: var(--rg-paper); color: var(--rg-ink) !important; margin-top: 7px; }
.rg-button--light:hover, .rg-button--light:focus-visible { background: var(--rg-accent-soft); border-color: var(--rg-accent-soft); }
@media (max-width: 850px) {
  .rg-hero { grid-template-columns: 1fr; gap: 28px; padding-top: 30px; }
  .rg-hero__image { max-height: 380px; object-fit: cover; }
  .rg-methods { grid-template-columns: 1fr; }
  .rg-card img { max-width: 520px; }
  .rg-fit-grid { grid-template-columns: 1fr; gap: 10px; }
  .rg-fit-grid > div { padding: 18px 0; }
  .rg-calculator { grid-template-columns: 1fr; }
  .rg-calculator label { margin-top: 12px; }
  .rg-calc__result { grid-column: 1; }
}
@media (max-width: 520px) {
  .rg-size-guide { padding: 0 16px 48px; }
  .rg-hero { padding-top: 22px; }
  .rg-standard { align-items: flex-start; padding: 18px; }
  .rg-standard__mark { flex-basis: 40px; width: 40px; height: 40px; }
  .rg-toc { gap: 9px 16px; margin-bottom: 32px; }
  .rg-toc a { font-size: var(--dimensione-testo-secondario, .875rem); }
  .rg-table-section { padding: 28px 14px; margin: 12px 0; }
  .rg-size-guide th, .rg-size-guide td { padding: 9px 10px; font-size: var(--dimensione-testo-secondario, .875rem); }
  .rg-conditions { padding: 27px 20px; }
  .rg-calc__controls button { padding: 9px 12px; }
}
@media (prefers-reduced-motion: reduce) { .rg-button { transition: none; } }
