/* ── Page Hero ── */
    .sg-hero {
      padding: 60px 0 48px;
      text-align: center;
      background: linear-gradient(135deg, var(--s-surface) 0%, var(--s-surface-2) 100%);
      border-bottom: 1px solid var(--s-border);
    }
    .sg-breadcrumb {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      font-size: 0.8rem;
      color: var(--s-muted);
      margin-bottom: 20px;
    }
    .sg-breadcrumb a {
      color: var(--s-muted);
      text-decoration: none;
      transition: color .2s;
    }
    .sg-breadcrumb a:hover { color: var(--s-accent); }
    .sg-breadcrumb-sep {
      color: var(--s-border);
      font-size: 0.75rem;
    }
    .sg-breadcrumb-current { color: var(--s-text); font-weight: 500; }
    .sg-hero-eyebrow {
      display: inline-block;
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--s-accent);
      margin-bottom: 12px;
    }
    .sg-hero h1 {
      font-family: 'Poppins', sans-serif;
      font-size: clamp(1.8rem, 4vw, 2.8rem);
      font-weight: 800;
      color: var(--s-text);
      margin-bottom: 12px;
    }
    .sg-hero p {
      font-size: 1rem;
      color: var(--s-muted);
      max-width: 440px;
      margin: 0 auto;
      line-height: 1.7;
    }

    /* ── Page Body ── */
    .sg-body {
      padding: 64px 0 80px;
    }

    /* ── Section Headers ── */
    .sg-section {
      margin-bottom: 64px;
    }
    .sg-section-title {
      font-family: 'Poppins', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      color: var(--s-text);
      margin-bottom: 8px;
    }
    .sg-section-sub {
      font-size: 0.9rem;
      color: var(--s-muted);
      margin-bottom: 32px;
    }
    .sg-section-divider {
      width: 48px;
      height: 3px;
      background: var(--s-accent);
      border-radius: 2px;
      margin-bottom: 32px;
    }

    /* ── Size Cards ── */
    .sg-size-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
      gap: 20px;
      align-items: end;
    }
    .sg-size-card {
      background: #fff;
      border: 1.5px solid var(--s-border);
      border-radius: 16px;
      padding: 24px 20px 20px;
      text-align: center;
      transition: border-color .2s, box-shadow .2s, transform .2s;
      position: relative;
      cursor: default;
    }
    .sg-size-card:hover {
      border-color: var(--s-accent);
      box-shadow: 0 8px 32px rgba(244,63,94,0.12);
      transform: translateY(-3px);
    }
    .sg-size-card.is-popular {
      border-color: var(--s-accent);
      box-shadow: 0 4px 20px rgba(244,63,94,0.12);
    }
    .sg-popular-badge {
      position: absolute;
      top: -10px;
      left: 50%;
      transform: translateX(-50%);
      background: var(--s-accent);
      color: #fff;
      font-size: 0.65rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 3px 12px;
      border-radius: 20px;
      white-space: nowrap;
    }
    .sg-canvas-visual-wrap {
      display: flex;
      align-items: flex-end;
      justify-content: center;
      height: 110px;
      margin-bottom: 16px;
    }
    .sg-canvas-visual {
      background: linear-gradient(135deg, #f43f5e18 0%, #7c3aed18 100%);
      border: 2px solid #f43f5e40;
      border-radius: 4px;
      position: relative;
    }
    .sg-canvas-visual::after {
      content: '';
      position: absolute;
      inset: 5px;
      border: 1px dashed #f43f5e30;
      border-radius: 2px;
    }
    .sg-size-label {
      font-family: 'Poppins', sans-serif;
      font-size: 1rem;
      font-weight: 700;
      color: var(--s-text);
      margin-bottom: 4px;
    }
    .sg-size-dims {
      font-size: 0.78rem;
      font-weight: 600;
      color: var(--s-accent);
      margin-bottom: 6px;
    }
    .sg-size-use {
      font-size: 0.78rem;
      color: var(--s-muted);
      line-height: 1.5;
      margin-bottom: 12px;
    }
    .sg-size-price {
      display: inline-block;
      background: var(--s-surface);
      border: 1px solid var(--s-surface-2);
      color: var(--s-text);
      font-size: 0.8rem;
      font-weight: 600;
      padding: 4px 14px;
      border-radius: 20px;
    }
    .sg-size-card.is-custom .sg-canvas-visual-wrap {
      height: 110px;
    }
    .sg-size-custom-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 64px;
      height: 64px;
      background: linear-gradient(135deg, #f43f5e18 0%, #7c3aed18 100%);
      border: 2px dashed #f43f5e60;
      border-radius: 8px;
      margin: 0 auto;
    }
    .sg-size-custom-icon svg {
      width: 28px;
      height: 28px;
      stroke: var(--s-accent);
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
    }

    /* ── How to Measure ── */
    .sg-measure-steps {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
    }
    .sg-measure-step {
      background: #fff;
      border: 1.5px solid var(--s-border);
      border-radius: 16px;
      padding: 32px 24px;
      text-align: center;
      position: relative;
    }
    .sg-measure-step::after {
      content: '→';
      position: absolute;
      right: -16px;
      top: 50%;
      transform: translateY(-50%);
      font-size: 1.2rem;
      color: var(--s-accent);
      font-weight: 700;
      z-index: 1;
    }
    .sg-measure-step:last-child::after { display: none; }
    .sg-step-num {
      width: 44px;
      height: 44px;
      background: linear-gradient(135deg, #f43f5e 0%, #7c3aed 100%);
      color: #fff;
      border-radius: 50%;
      font-family: 'Poppins', sans-serif;
      font-weight: 700;
      font-size: 1rem;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 16px;
    }
    .sg-step-icon {
      margin-bottom: 14px;
      font-size: 2rem;
    }
    .sg-step-title {
      font-family: 'Poppins', sans-serif;
      font-size: 1rem;
      font-weight: 700;
      color: var(--s-text);
      margin-bottom: 8px;
    }
    .sg-step-desc {
      font-size: 0.85rem;
      color: var(--s-muted);
      line-height: 1.6;
    }

    /* ── Wallpaper Calculator ── */
    .sg-calc-wrap {
      background: #fff;
      border: 1.5px solid var(--s-border);
      border-radius: 20px;
      padding: 40px 36px;
      box-shadow: 0 4px 24px rgba(244,63,94,0.06);
      max-width: 640px;
    }
    .sg-calc-title {
      font-family: 'Poppins', sans-serif;
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--s-text);
      margin-bottom: 24px;
    }
    .sg-calc-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin-bottom: 16px;
    }
    .sg-calc-field {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .sg-calc-field label {
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--s-text);
      letter-spacing: 0.02em;
    }
    .sg-calc-field input,
    .sg-calc-field select {
      border: 1.5px solid var(--s-border);
      border-radius: 10px;
      padding: 10px 14px;
      font-size: 0.9rem;
      color: var(--s-text);
      font-family: 'Inter', sans-serif;
      background: var(--s-surface);
      transition: border-color .2s, box-shadow .2s;
      outline: none;
    }
    .sg-calc-field input:focus,
    .sg-calc-field select:focus {
      border-color: var(--s-accent);
      box-shadow: 0 0 0 3px rgba(244,63,94,0.1);
    }
    .sg-calc-material {
      grid-column: 1 / -1;
    }
    .sg-calc-btn {
      background: var(--s-accent);
      color: #fff;
      border: none;
      border-radius: 10px;
      padding: 12px 28px;
      font-family: 'Inter', sans-serif;
      font-size: 0.9rem;
      font-weight: 600;
      cursor: pointer;
      transition: opacity .2s, transform .2s;
      margin-top: 4px;
    }
    .sg-calc-btn:hover { opacity: 0.9; transform: translateY(-1px); }
    .sg-calc-result {
      display: none;
      margin-top: 24px;
      background: linear-gradient(135deg, var(--s-surface) 0%, var(--s-surface-2) 100%);
      border: 1.5px solid #f43f5e30;
      border-radius: 14px;
      padding: 20px 24px;
    }
    .sg-calc-result.is-visible { display: block; }
    .sg-calc-result-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 6px 0;
      border-bottom: 1px solid #f43f5e15;
    }
    .sg-calc-result-row:last-child { border-bottom: none; }
    .sg-calc-result-label {
      font-size: 0.85rem;
      color: var(--s-muted);
    }
    .sg-calc-result-val {
      font-size: 0.9rem;
      font-weight: 700;
      color: var(--s-text);
    }
    .sg-calc-result-val.is-accent {
      color: var(--s-accent);
      font-size: 1.1rem;
    }

    /* ── Room Recommendations Table ── */
    .sg-table-wrap {
      overflow-x: auto;
      border-radius: 16px;
      box-shadow: 0 2px 16px rgba(0,0,0,0.06);
    }
    .sg-table {
      width: 100%;
      border-collapse: collapse;
      background: #fff;
      font-size: 0.88rem;
    }
    .sg-table thead tr {
      background: linear-gradient(135deg, #f43f5e 0%, #7c3aed 55%, #2563eb 100%);
      color: #fff;
    }
    .sg-table thead th {
      padding: 14px 20px;
      font-family: 'Poppins', sans-serif;
      font-weight: 700;
      font-size: 0.82rem;
      letter-spacing: 0.04em;
      text-align: left;
    }
    .sg-table tbody tr:nth-child(odd) { background: var(--s-surface); }
    .sg-table tbody tr:nth-child(even) { background: #fff; }
    .sg-table tbody tr:hover { background: var(--s-surface-2); }
    .sg-table td {
      padding: 14px 20px;
      color: var(--s-text);
      border-bottom: 1px solid var(--s-border);
      vertical-align: middle;
    }
    .sg-table td:first-child {
      font-weight: 600;
    }
    .sg-table tbody tr:last-child td {
      border-bottom: none;
    }
    .sg-td-tag {
      display: inline-block;
      background: var(--s-surface-2);
      color: #f43f5e;
      font-size: 0.75rem;
      font-weight: 600;
      padding: 3px 10px;
      border-radius: 20px;
      margin: 2px 2px 2px 0;
      white-space: nowrap;
    }

    /* ── CTA Block ── */
    .sg-cta {
      background: linear-gradient(135deg, #f43f5e 0%, #7c3aed 55%, #2563eb 100%);
      border-radius: 20px;
      padding: 48px 40px;
      text-align: center;
      color: #fff;
    }
    .sg-cta h3 {
      font-family: 'Poppins', sans-serif;
      font-size: 1.6rem;
      font-weight: 800;
      margin-bottom: 12px;
    }
    .sg-cta p {
      font-size: 0.95rem;
      opacity: 0.88;
      margin-bottom: 28px;
    }
    .sg-cta-btn {
      display: inline-block;
      background: #fff;
      color: #f43f5e;
      font-family: 'Inter', sans-serif;
      font-weight: 700;
      font-size: 0.9rem;
      padding: 13px 32px;
      border-radius: 50px;
      text-decoration: none;
      transition: transform .2s, box-shadow .2s;
    }
    .sg-cta-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    }

    /* ── Responsive ── */
    @media (max-width: 768px) {
      .sg-measure-steps {
        grid-template-columns: 1fr;
      }
      .sg-measure-step::after { display: none; }
      .sg-calc-grid { grid-template-columns: 1fr; }
      .sg-calc-wrap { padding: 28px 20px; }
      .sg-size-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
    }
