/* assets/css/page.css — Info Pages */

/* ── GENERAL LAYOUT ── */
.soc-info-page {
  padding-top:    32px;
  padding-bottom: 48px;
}
@media (min-width: 1024px) {
  .soc-info-page { padding-top: 56px; padding-bottom: 72px; }
}

.soc-info-page__inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (min-width: 1024px) {
  .soc-info-page__inner {
    display:               grid;
    grid-template-columns: 260px 1fr;
    gap:                   64px;
    align-items:           start;
  }
}

/* ── SIDEBAR (desktop) ── */
.soc-info-nav { display: none; }
@media (min-width: 1024px) {
  .soc-info-nav { display: block; position: sticky; top: 120px; }
}

.soc-info-nav__label {
  font-size:      10px;
  font-weight:    var(--fw-medium);
  letter-spacing: .1em;
  text-transform: uppercase;
  color:          var(--c-text-light);
  margin-bottom:  16px;
}

.soc-info-nav__item {
  display:         flex;
  justify-content: space-between;
  align-items:     center;
  padding:         12px 0;
  border-bottom:   .5px solid var(--c-border-light);
  font-size:       13px;
  text-decoration: none;
  transition:      color var(--t-fast);
  color:           var(--c-text-muted);
}
.soc-info-nav__item:last-child { border-bottom: none; }
.soc-info-nav__item.is-active   { color: var(--c-brand); font-weight: var(--fw-medium); }
.soc-info-nav__item:hover:not(.is-active) { color: var(--c-text); }
.soc-info-nav__chevron { color: var(--c-border); font-size: 14px; }

/* ── PILLS (mobile/tablet) ── */
.soc-info-pills {
  display:            flex;
  gap:                6px;
  overflow-x:         auto;
  scrollbar-width:    none;
  padding-bottom:     4px;
  margin:             0 calc(-1 * var(--pad-mobile));
  padding-left:       var(--pad-mobile);
  padding-right:      var(--pad-mobile);
}
.soc-info-pills::-webkit-scrollbar { display: none; }
@media (min-width: 768px) {
  .soc-info-pills {
    margin:       0 calc(-1 * var(--pad-tablet));
    padding-left: var(--pad-tablet);
  }
}
@media (min-width: 1024px) { .soc-info-pills { display: none; } }

.soc-info-pill {
  border:          .5px solid var(--c-border-mid);
  border-radius:   var(--r-pill);
  padding:         6px 13px;
  font-size:       9px;
  color:           var(--c-text-light);
  white-space:     nowrap;
  flex-shrink:     0;
  text-decoration: none;
  font-weight:     var(--fw-regular);
  transition:      border-color var(--t-fast), color var(--t-fast);
}
.soc-info-pill.is-active {
  border-color: var(--c-brand);
  color:        var(--c-brand);
  font-weight:  var(--fw-medium);
}

/* Espaço entre o menu (pills) e o título da página (mobile) */
.soc-info-pills-wrap { margin-bottom: 24px; }
@media (min-width: 1024px) { .soc-info-pills-wrap { margin-bottom: 0; } }

/* Barra de progresso do scroll horizontal (mesmo padrão do carrossel de categorias) */
.soc-info-pills-progress { margin-top: 10px; display: none; }
.soc-info-pills-progress__track {
  position: relative; height: 3px; background: var(--c-bg-alt);
  border-radius: 999px; overflow: hidden;
}
.soc-info-pills-progress__fill {
  position: absolute; top: 0; left: var(--x, 0%); width: var(--w, 25%); height: 100%;
  background: var(--c-brand); border-radius: 999px;
  transition: left .3s cubic-bezier(.4,0,.2,1);
}
@media (max-width: 1023px) { .soc-info-pills-progress { display: block; } }

/* ── HEADING ── */
.soc-info-title {
  font-family:    var(--font-display);
  font-size:      28px;
  font-weight:    var(--fw-bold);
  color:          var(--c-text);
  margin:         0 0 4px;
  letter-spacing: var(--tracking-display);
  line-height:    1.1;
}
@media (min-width: 1024px) {
  .soc-info-title { font-size: 36px; margin-bottom: 8px; }
}

.soc-info-subtitle {
  font-size:     11px;
  color:         var(--c-text-light);
  margin:        0 0 20px;
  line-height:   1.5;
}
@media (min-width: 1024px) {
  .soc-info-subtitle { font-size: 14px; margin-bottom: 40px; }
}

/* ── CARDS 2×2 ── */
.soc-about-cards {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  gap:                   10px;
  margin-bottom:         22px;
}
@media (min-width: 1024px) {
  .soc-about-cards { gap: 16px; margin-bottom: 44px; }
}

.soc-about-card {
  background:    var(--c-white);
  padding:       14px;
  border:        var(--border-xlight);
  border-radius: var(--r);
}
@media (min-width: 1024px) { .soc-about-card { padding: 24px; } }

.soc-about-card__icon {
  width:           26px;
  height:          26px;
  background:      var(--c-brand-light);
  display:         flex;
  align-items:     center;
  justify-content: center;
  margin-bottom:   9px;
  flex-shrink:     0;
}
@media (min-width: 1024px) {
  .soc-about-card__icon { width: 36px; height: 36px; margin-bottom: 14px; }
}

.soc-about-card__title {
  font-family:   var(--font-display);
  font-size:     15px;
  font-weight:   var(--fw-semibold);
  letter-spacing: var(--tracking-display);
  color:         var(--c-text);
  margin-bottom: 4px;
}
@media (min-width: 1024px) {
  .soc-about-card__title { font-size: 16px; margin-bottom: 8px; }
}

.soc-about-card__text {
  font-size:   9px;
  color:       var(--c-text-muted);
  line-height: 1.55;
  margin:      0;
}
@media (min-width: 1024px) {
  .soc-about-card__text { font-size: 12px; line-height: 1.7; }
}

/* ── FAQ ACCORDION ── */
.soc-about-faq-title {
  font-size:     13px;
  font-family: var(--font-display); letter-spacing: var(--tracking-display); font-weight: var(--fw-semibold);
  color:         var(--c-text);
  margin-bottom: 12px;
  margin-top:    28px;
}
@media (min-width: 1024px) {
  .soc-about-faq-title {
    font-size:   18px;
    font-weight: var(--fw-light);
    margin-top:  0;
    padding-top: 32px;
    margin-bottom: 18px;
    border-top:  .5px solid var(--c-border-light);
  }
}

.soc-about-faq {
  border:        var(--border-xlight);
  border-radius: var(--r);
  overflow: hidden;
}

.soc-about-faq .soc-accordion__item + .soc-accordion__item {
  border-top: .5px solid var(--c-border-light);
}

.soc-about-faq .soc-accordion__trigger {
  width:       100%;
  background:  none;
  border:      none;
  padding:     12px 14px;
  display:     flex;
  justify-content: space-between;
  align-items: center;
  font-size:   11px;
  cursor:      pointer;
  text-align:  left;
  font-family: var(--font-main);
  color:       var(--c-text);
  line-height: 1.4;
}
@media (min-width: 1024px) {
  .soc-about-faq .soc-accordion__trigger { padding: 16px 20px; font-size: 13px; }
}

.soc-accordion__icon {
  color:       var(--c-accent);
  font-size:   18px;
  flex-shrink: 0;
  margin-left: 12px;
  font-weight: var(--fw-regular);
  line-height: 1;
}

.soc-about-faq .soc-accordion__body {
  display:    none;
  padding:    0 14px 12px;
  font-size:  11px;
  color:      var(--c-text-muted);
  line-height: 1.65;
}
.soc-about-faq .soc-accordion__body.is-open { display: block; }
@media (min-width: 1024px) {
  .soc-about-faq .soc-accordion__body { padding: 0 20px 16px; font-size: 13px; }
}

/* ── CTA BOX ── */
.soc-about-cta {
  background: var(--c-brand);
  padding:    20px 16px;
  margin-top: 20px;
}
@media (min-width: 1024px) {
  .soc-about-cta {
    padding:         36px 40px;
    display:         flex;
    justify-content: space-between;
    align-items:     center;
    margin-top:      40px;
  }
}

.soc-about-cta__text { flex: 1; }

.soc-about-cta__title {
  font-size:     16px;
  font-family: var(--font-display); letter-spacing: var(--tracking-display); font-weight: var(--fw-semibold);
  color:         var(--c-white);
  margin:        0 0 7px;
  line-height:   1.3;
}
@media (min-width: 1024px) { .soc-about-cta__title { font-size: 22px; margin-bottom: 8px; } }

.soc-about-cta__sub {
  font-size:     10px;
  color:         rgba(255,255,255,.5);
  line-height:   1.7;
  margin:        0 0 14px;
}
@media (min-width: 1024px) {
  .soc-about-cta__sub { font-size: 12px; margin-bottom: 0; }
}

.soc-about-cta__actions {
  display:    flex;
  gap:        10px;
  flex-shrink: 0;
  margin-left: 32px;
}
@media (max-width: 1023px) {
  .soc-about-cta__actions { flex-direction: column; margin-left: 0; }
}

.soc-about-cta__btn {
  padding:     11px 20px;
  font-size:   10px;
  font-weight: var(--fw-medium);
  cursor:      pointer;
  white-space: nowrap;
  text-decoration: none;
  display:     inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-main);
  border:      none;
  line-height: 1;
}
@media (min-width: 1024px) {
  .soc-about-cta__btn { padding: 13px 26px; font-size: 12px; }
}

.soc-about-cta__btn--primary { background: var(--c-white); color: var(--c-brand); }
.soc-about-cta__btn--ghost   { background: transparent; color: rgba(255,255,255,.8); border: .5px solid rgba(255,255,255,.3); }

/* ── INFO PAGE — body text ── */
.soc-info-body                { font-size: 14px; line-height: 1.75; color: var(--c-text-muted); }
.soc-info-body h2             { font-size: 18px; font-weight: var(--fw-medium); color: var(--c-text); margin: 28px 0 12px; }
.soc-info-body h3             { font-size: 14px; font-weight: var(--fw-medium); color: var(--c-text); margin: 20px 0 8px; }
.soc-info-body p              { margin-bottom: var(--sp-4); }
.soc-info-body ul             { list-style: disc;    padding-left: var(--sp-6); margin-bottom: var(--sp-4); }
.soc-info-body ol             { list-style: decimal; padding-left: var(--sp-6); margin-bottom: var(--sp-4); }
.soc-info-body li             { margin-bottom: var(--sp-2); }
.soc-info-body a              { color: var(--c-brand); text-decoration: underline; }

/* ── CONTACT PAGE ── */

/* Contact cards */
.soc-contact-cards {
  display:               grid;
  grid-template-columns: repeat(3, 1fr);
  gap:                   16px;
  margin-bottom:         40px;
}
@media (max-width: 767px) { .soc-contact-cards { grid-template-columns: 1fr; } }

.soc-contact-card {
  border:          var(--border-xlight);
  border-radius:   var(--r);
  padding:         24px;
  display:         flex;
  flex-direction:  column;
  gap:             10px;
  text-decoration: none;
  color:           var(--c-text);
  transition:      border-color var(--t-fast);
}
.soc-contact-card:hover { border-color: var(--c-brand); }

.soc-contact-card__icon {
  width:           36px;
  height:          36px;
  background:      var(--c-brand-light);
  display:         flex;
  align-items:     center;
  justify-content: center;
  flex-shrink:     0;
}
.soc-contact-card__label { font-size: 13px; font-weight: var(--fw-medium); }
.soc-contact-card__value { font-size: 12px; color: var(--c-text-muted); }

/* Social networks */
.soc-contact-social {
  display:     flex;
  align-items: center;
  gap:         20px;
  margin-bottom: 40px;
  padding-top: 8px;
}
.soc-contact-social__label {
  font-size:      11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color:          var(--c-text-light);
  white-space:    nowrap;
}
/* A mesma peça do footer — 34px, círculo, aro fino, e o coral no hover.
   As cores mudam porque o fundo muda: no footer o aro é claro sobre teal, aqui
   é a hairline de contornos sobre branco, com o glifo em Deep Teal. */
.soc-contact-social__links { display: flex; gap: 14px; flex-wrap: wrap; }
.soc-social-link {
  display:         flex;
  align-items:     center;
  justify-content: center;
  width:           34px;
  height:          34px;
  flex-shrink:     0;
  border:          1px solid var(--c-border-mid);
  border-radius:   var(--r-round);
  color:           var(--c-brand);
  transition:      color var(--t-fast), border-color var(--t-fast);
}
.soc-social-link:hover { color: var(--c-accent); border-color: var(--c-accent); }

/* Address + map */
.soc-contact-location {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  gap:                   24px;
  margin-bottom:         48px;
}
@media (max-width: 767px) { .soc-contact-location { grid-template-columns: 1fr; } }

.soc-contact-address       { font-size: 13px; line-height: 1.85; color: var(--c-text-muted); }
.soc-contact-address strong { display: block; color: var(--c-text); font-weight: var(--fw-medium); margin-bottom: 8px; font-size: 13px; }
.soc-contact-map iframe    { width: 100%; height: 220px; border: var(--border-xlight); border-radius: var(--r); display: block; }

/* Form */
.soc-contact-form           { background: #EFE9DD; border-radius: var(--r-lg); padding: 28px; margin-top: 40px; }
.soc-contact-form__title    { font-size: 18px; font-family: var(--font-display); letter-spacing: var(--tracking-display); font-weight: var(--fw-semibold); margin-bottom: 24px; color: var(--c-text); }
.soc-contact-form__grid     { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 767px)   { .soc-contact-form__grid { grid-template-columns: 1fr; } }
.soc-contact-form__full     { grid-column: 1 / -1; }

/* Campos do contacto — mesma border dos cards (subtil + raio 14px, não pastilha) */
.soc-contact-form .soc-input,
.soc-contact-form .soc-select,
.soc-contact-form .soc-textarea {
  border:        var(--border-xlight);
  border-radius: var(--r);
}

.soc-contact-notice         { display: none; padding: 12px 16px; font-size: 12px; margin-top: 16px; }
.soc-contact-notice--ok     { color: var(--c-success); background: var(--c-success-bg); border-left: 2px solid var(--c-success); }
.soc-contact-notice--error  { color: var(--c-error); background: var(--c-error-bg); border-left: 2px solid var(--c-error); }
.soc-contact-notice.is-visible { display: block; }

/* ═══════════════════════════════════════════════
   About Us — editorial full-bleed layout (Bloco C2)
   ═══════════════════════════════════════════════ */
.soc-about-page .is-left   { text-align: left; }
.soc-about-page .is-center { text-align: center; }
.soc-about-page .is-right  { text-align: right; }

/* ── Hero — full-bleed dark band; title uses the slider font (display, bold) ── */
.soc-ab-hero {
  position: relative; min-height: 640px; display: flex; align-items: center; justify-content: center;
  text-align: center; overflow: hidden; background: var(--c-brand-dark, #072B33);
}
.soc-ab-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.soc-ab-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.46)); }
.soc-ab-hero__in { position: relative; z-index: 1; padding: 40px 24px; max-width: 1100px; }
.soc-ab-hero__eyebrow { display: block; color: rgba(255,255,255,.72); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; margin-bottom: 16px; }
.soc-ab-hero__title { font-family: var(--font-display, var(--font-main, Georgia, serif)); font-weight: var(--fw-bold, 700); color: #fff; font-size: clamp(46px, 11vw, 104px); line-height: 1.02; letter-spacing: var(--tracking-display, -.02em); margin: 0; }
.soc-ab-hero__text { color: rgba(255,255,255,.85); font-size: clamp(16px, 2vw, 20px); line-height: 1.55; max-width: 60ch; margin: 20px auto 0; }
@media (max-width: 820px) { .soc-ab-hero { min-height: 460px; } }

/* ── Bands + canvas + 12-col grid ── */
.soc-ab-band { padding: 96px 0; }
.soc-ab-band--cream { background: var(--c-surface, #F7F4EC); }
.soc-ab-band--warm  { background: var(--c-bg-alt, #E6E0D3); }
.soc-ab-band--plain { background: var(--c-bg, #fff); }
@media (max-width: 820px) { .soc-ab-band { padding: 56px 0; } }
.soc-ab-canvas { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.soc-ab-grid { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: 28px; }
@media (max-width: 820px) {
  .soc-ab-grid { display: flex; flex-direction: column; gap: 22px; }
  .soc-ab-grid > * { grid-column: 1 / -1 !important; margin-top: 0 !important; align-self: auto !important; order: 0 !important; }
  .soc-ab-slot { aspect-ratio: 4 / 3 !important; }
}

/* Shared typography */
.soc-ab-h { font-family: var(--font-display, var(--font-main, Georgia, serif)); color: var(--c-text); font-size: clamp(30px, 5vw, 60px); line-height: 1.08; letter-spacing: -.01em; margin: 0; }
.soc-ab-lead { font-size: clamp(19px, 2.2vw, 24px); color: var(--c-text); font-weight: 500; line-height: 1.4; margin: 0; }
.soc-ab-body { font-size: 16px; line-height: 1.75; color: var(--c-text-muted); }
.soc-ab-body p { margin: 0 0 16px; }
.soc-ab-body p:last-child { margin-bottom: 0; }
.soc-ab-body strong { color: var(--c-text); font-weight: 600; }
.soc-ab-body a, .soc-ab-ti__text a { color: var(--c-accent, var(--c-brand)); text-decoration: none; border-bottom: 1px solid currentColor; }
.soc-ab-sublabel { font-family: var(--font-display, var(--font-main, Georgia, serif)); font-size: 18px; color: var(--c-text-muted); margin: 10px 0 0; }

/* Image slots + neutral placeholder */
.soc-ab-slot { overflow: hidden; aspect-ratio: var(--ar, 3 / 4); background: var(--c-surface); }
.soc-ab-slot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.soc-ab-ph { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 120px; background: var(--c-brand-mid, var(--c-brand)); color: rgba(255,255,255,.4); }
.soc-ab-ti__media .soc-ab-ph { aspect-ratio: 3 / 4; }

/* ── Story ── */
.soc-ab-story__head  { grid-column: 1 / 9; }
.soc-ab-story__lead  { grid-column: 1 / 7; margin-top: 26px; }
.soc-ab-story__body  { grid-column: 8 / 13; margin-top: 64px; font-family: var(--font-display, var(--font-main, Georgia, serif)); }
.soc-ab-story__imga  { grid-column: 1 / 8;  margin-top: 70px;  --ar: 16 / 11; }
.soc-ab-story__imgb  { grid-column: 9 / 13; margin-top: -70px; align-self: end; --ar: 3 / 4; }
.soc-ab-story__lead2 { grid-column: 3 / 10; margin-top: 96px; }

/* ── Point of view (split) ── */
.soc-ab-split__img  { grid-column: 1 / 6; --ar: 3 / 4; }
.soc-ab-split__text { grid-column: 7 / 13; align-self: center; }
.soc-ab-split__text .soc-ab-h { font-size: clamp(28px, 4vw, 46px); }
.soc-ab-split__text .soc-ab-body { margin-top: 24px; }
.soc-ab-split__wide { grid-column: 5 / 12; margin-top: 80px; --ar: 16 / 8; }
.soc-ab-split.is-flip .soc-ab-split__img  { grid-column: 8 / 13; order: 2; }
.soc-ab-split.is-flip .soc-ab-split__text { grid-column: 1 / 7; }
.soc-ab-split.is-flip .soc-ab-split__wide { grid-column: 2 / 9; }

/* ── Value proposition (values) ── */
.soc-ab-values__head { grid-column: 1 / 10; }
.soc-ab-values__img  { grid-column: 1 / 5; margin-top: 48px; --ar: 3 / 4; }
.soc-ab-values__list { grid-column: 7 / 13; margin-top: 48px; }
.soc-ab-vitem { margin-bottom: 26px; }
.soc-ab-vitem:last-child { margin-bottom: 0; }
.soc-ab-vitem h3 { font-family: var(--font-display, var(--font-main, Georgia, serif)); font-size: 17px; margin: 0 0 7px; color: var(--c-text); }
.soc-ab-vitem p { font-size: 14px; margin: 0; color: var(--c-text-muted); line-height: 1.6; }

/* ── Commitment (feature) ── */
.soc-ab-feature__wide { grid-column: 2 / 10; --ar: 16 / 8; }
.soc-ab-feature__text { grid-column: 1 / 8; margin-top: 70px; }
.soc-ab-feature__text .soc-ab-h { font-size: clamp(28px, 4vw, 46px); }
.soc-ab-feature__text .soc-ab-lead { margin-top: 16px; }
.soc-ab-feature__side { grid-column: 9 / 13; margin-top: 70px; --ar: 3 / 4; }
.soc-ab-morelink { display: inline-block; margin-top: 14px; font-size: 16px; color: var(--c-text); text-decoration: none; border-bottom: 1px solid var(--c-border-mid, var(--c-border)); }

/* ── Text block (generic) ── */
.soc-ab-text .soc-ab-h { margin-bottom: 26px; }
.soc-ab-text.is-left  .soc-ab-body { max-width: 64ch; }
.soc-ab-text.is-center .soc-ab-body { max-width: 64ch; margin: 0 auto; }
.soc-ab-text.is-right  .soc-ab-body { max-width: 64ch; margin-left: auto; }

/* ── Text + Image (generic) ── */
.soc-ab-ti { display: grid; grid-template-columns: 1fr; gap: 28px; align-items: center; }
@media (min-width: 768px) { .soc-ab-ti { grid-template-columns: 1fr 1fr; gap: 56px; } }
.soc-ab-ti .soc-ab-h { font-size: clamp(28px, 4vw, 46px); margin-bottom: 20px; }
.soc-ab-ti__media img { width: 100%; height: auto; display: block; aspect-ratio: 3 / 4; object-fit: cover; }
@media (min-width: 768px) { .soc-ab-ti.is-img-left .soc-ab-ti__media { order: -1; } }

/* ── Quote (generic) ── */
.soc-ab-quote { font-family: var(--font-display, var(--font-main, Georgia, serif)); font-size: clamp(28px, 5vw, 52px); line-height: 1.2; color: var(--c-text); margin: 0; padding: 0; border: 0; max-width: 22ch; }
.soc-ab-quote.is-center { margin: 0 auto; }
.soc-ab-quote.is-right  { margin-left: auto; }

/* ── CTA (generic) ── */
.soc-ab-cta { display: flex; flex-direction: column; gap: 16px; }
.soc-ab-cta.is-center { align-items: center; }
.soc-ab-cta.is-right  { align-items: flex-end; }
.soc-ab-cta .soc-ab-h { font-size: clamp(28px, 4vw, 46px); margin: 0; }
.soc-ab-cta__text { font-size: 18px; line-height: 1.6; color: var(--c-text-muted); margin: 0; max-width: 56ch; }
.soc-ab-cta__btn { margin-top: 8px; }

/* ═══════════════════════════════════════════════
   Discount Codes (Bloco C3)
   ═══════════════════════════════════════════════ */
/* Title + intro reuse the shared info-page styles (.soc-info-title / .soc-info-subtitle) */
.soc-disc-intro { max-width: none; }

.soc-disc-promo {
  display: flex; gap: 28px; align-items: center;
  border: 1px solid var(--c-border); border-radius: var(--r, 14px);
  padding: 24px 26px; margin: 0 0 16px; background: var(--c-bg);
}
.soc-disc-promo__main { flex: 1; min-width: 0; }
.soc-disc-promo__title {
  font-family: var(--font-display, var(--font-main, Georgia, serif)); font-size: 19px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .01em; color: var(--c-text); margin: 0 0 8px; line-height: 1.25;
}
.soc-disc-promo__cond { font-size: 13px; color: var(--c-text-light); margin: 0; line-height: 1.6; }
.soc-disc-promo__action { flex: none; width: 230px; }
.soc-disc-promo__label { display: block; font-size: 12.5px; color: var(--c-text-muted); margin: 0 0 8px; }
.soc-disc-promo__code {
  display: block; width: 100%; text-align: center; cursor: pointer;
  background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--r, 14px);
  padding: 14px; font-family: ui-monospace, Menlo, Consolas, monospace; font-weight: 700; font-size: 15px;
  letter-spacing: .06em; color: var(--c-accent, var(--c-brand)); transition: color .15s;
}
.soc-disc-promo__code.is-copied { color: var(--c-success); }
.soc-disc-promo__code.is-copied::after { content: " ✓"; }
.soc-disc-promo__btn {
  display: block; width: 100%; text-align: center; border: 0; cursor: pointer; text-decoration: none;
  background: var(--c-brand); color: #fff; font-family: inherit; font-weight: 600; font-size: 13.5px;
  padding: 14px; border-radius: var(--r-pill, 999px); transition: background-color .15s;
}
.soc-disc-promo__btn:hover { background: var(--c-brand-dark); }
.soc-disc-promo__auto {
  display: block; text-align: center; background: var(--c-surface);
  border: 1px dashed var(--c-border-mid, var(--c-border)); border-radius: var(--r, 14px);
  padding: 13px; font-size: 13px; font-style: italic; color: var(--c-text-light);
}
@media (max-width: 720px) {
  .soc-disc-promo { flex-direction: column; align-items: stretch; gap: 16px; }
  .soc-disc-promo__action { width: 100%; border-top: 1px solid var(--c-border); padding-top: 16px; }
}

/* FAQ */
/* FAQ reuses the shared .soc-about-faq accordion (same as the FAQ page) */
.soc-disc-faq { margin-top: 46px; }
.soc-disc-faq__title { font-family: var(--font-display, var(--font-main, Georgia, serif)); font-size: 18px; font-weight: var(--fw-light); color: var(--c-text); margin: 0 0 18px; }
.soc-about-faq .soc-accordion__heading { margin: 0; }
