/* ============================================================
   Poder das Mãos — design tokens & base
   Warm, intimate, editorial wellness aesthetic.
   Palettes and type families are swapped via [data-palette]
   and [data-type] on the .pdm-root wrapper (driven by Tweaks).
   ============================================================ */

/* ---------- PALETTES ---------- */
.pdm-root[data-palette="terra"] {
  --paper:        #F4ECDF;
  --paper-2:      #EFE5D5;
  --surface:      #FBF6EE;
  --surface-2:    #FFFFFF;
  --ink:          #2B231E;
  --ink-2:        rgba(43, 35, 30, 0.64);
  --ink-3:        rgba(43, 35, 30, 0.42);
  --primary:      #BC6943;
  --primary-deep: #9C5230;
  --primary-soft: #F0D9C6;
  --sage:         #6E8367;
  --sage-soft:    #DDE5D6;
  --ochre:        #D69B53;
  --ochre-soft:   #F3E2C4;
  --line:         rgba(43, 35, 30, 0.10);
  --line-2:       rgba(43, 35, 30, 0.16);
  --on-dark:      #F4ECDF;
  --dark-panel:   #2B231E;
}
.pdm-root[data-palette="salvia"] {
  --paper:        #ECEFE6;
  --paper-2:      #E4E9DC;
  --surface:      #F6F8F1;
  --surface-2:    #FFFFFF;
  --ink:          #232A20;
  --ink-2:        rgba(35, 42, 32, 0.64);
  --ink-3:        rgba(35, 42, 32, 0.42);
  --primary:      #5E7654;
  --primary-deep: #45593D;
  --primary-soft: #D6E0CB;
  --sage:         #C0794E;
  --sage-soft:    #EEDIC6;
  --ochre:        #C7A04A;
  --ochre-soft:   #EDE2C0;
  --line:         rgba(35, 42, 32, 0.10);
  --line-2:       rgba(35, 42, 32, 0.16);
  --on-dark:      #ECEFE6;
  --dark-panel:   #28301F;
}
.pdm-root[data-palette="argila"] {
  --paper:        #EBDDCC;
  --paper-2:      #E4D3BE;
  --surface:      #F4E8DA;
  --surface-2:    #FCF5EC;
  --ink:          #2A1D15;
  --ink-2:        rgba(42, 29, 21, 0.64);
  --ink-3:        rgba(42, 29, 21, 0.44);
  --primary:      #A6512C;
  --primary-deep: #823C1F;
  --primary-soft: #E7CBB3;
  --sage:         #6B7A52;
  --sage-soft:    #D9DDC2;
  --ochre:        #C5823A;
  --ochre-soft:   #EAD3B2;
  --line:         rgba(42, 29, 21, 0.11);
  --line-2:       rgba(42, 29, 21, 0.18);
  --on-dark:      #EBDDCC;
  --dark-panel:   #2A1D15;
}

/* ---------- TYPE FAMILIES ---------- */
.pdm-root[data-type="editorial"] { --font-display: "Cormorant Garamond", Georgia, serif; --display-weight: 500; --display-tighten: -0.01em; }
.pdm-root[data-type="classico"]  { --font-display: "Marcellus", Georgia, serif;          --display-weight: 400; --display-tighten: 0em; }
.pdm-root[data-type="caloroso"]  { --font-display: "Newsreader", Georgia, serif;          --display-weight: 500; --display-tighten: -0.015em; }

.pdm-root {
  --font-body: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;
  --maxw: 1180px;
  --r-sm: 10px;
  --r-md: 16px;
  --r-lg: 26px;
  --r-xl: 40px;
  --shadow-sm: 0 1px 2px rgba(43,35,30,.05), 0 2px 8px rgba(43,35,30,.04);
  --shadow-md: 0 6px 22px rgba(43,35,30,.08);
  --shadow-lg: 0 24px 60px rgba(43,35,30,.14);
}

/* ---------- RESET & BASE ---------- */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
.pdm-root {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
.pdm-root img { max-width: 100%; display: block; }
.pdm-root a { color: inherit; text-decoration: none; }
.pdm-root ::selection { background: var(--primary); color: var(--surface-2); }

/* ---------- TYPE ---------- */
.display {
  font-family: var(--font-display);
  font-weight: var(--display-weight);
  line-height: 1.04;
  letter-spacing: var(--display-tighten);
}
.eyebrow {
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--primary-deep);
}
.lead { font-size: 1.18rem; line-height: 1.62; color: var(--ink-2); }
.muted { color: var(--ink-2); }
.serif-italic { font-family: var(--font-display); font-style: italic; }

/* ---------- LAYOUT ---------- */
.wrap { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 28px; }
.section { padding: clamp(64px, 9vw, 132px) 0; position: relative; }
.section--tight { padding: clamp(44px, 6vw, 80px) 0; }
.center { text-align: center; }

/* ---------- BUTTONS ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 9px;
  font-family: var(--font-body); font-size: 0.97rem; font-weight: 600;
  padding: 14px 26px; border-radius: 999px; border: 1px solid transparent;
  cursor: pointer; transition: background .16s, color .16s, border-color .16s, transform .16s, opacity .16s;
  line-height: 1; white-space: nowrap;
}
.btn .ms { font-size: 19px; }
.btn-primary { background: var(--primary); color: #FBF6EE; }
.btn-primary:hover { background: var(--primary-deep); }
.btn-primary:active { transform: translateY(1px); }
.btn-dark { background: var(--ink); color: var(--paper); }
.btn-dark:hover { opacity: .88; }
.btn-ghost { background: transparent; color: var(--ink); border-color: var(--line-2); }
.btn-ghost:hover { background: rgba(43,35,30,.05); border-color: var(--ink-3); }
.btn-light { background: var(--surface-2); color: var(--ink); border-color: var(--line); box-shadow: var(--shadow-sm); }
.btn-light:hover { transform: translateY(-1px); box-shadow: var(--shadow-md); }
.btn-sm { padding: 10px 18px; font-size: 0.9rem; }
.btn-lg { padding: 17px 32px; font-size: 1.04rem; }
.btn-block { width: 100%; justify-content: center; }

/* ---------- CHIPS / PILLS ---------- */
.pill {
  display: inline-flex; align-items: center; gap: 7px; white-space: nowrap;
  padding: 7px 14px; border-radius: 999px; font-size: 0.82rem; font-weight: 600;
  background: var(--surface-2); border: 1px solid var(--line); color: var(--ink-2);
}
.pill .ms { font-size: 16px; }
.pill-accent { background: var(--primary-soft); border-color: transparent; color: var(--primary-deep); }
.pill-sage { background: var(--sage-soft); border-color: transparent; color: var(--primary-deep); }

/* ---------- CARDS ---------- */
.card {
  background: var(--surface-2); border: 1px solid var(--line);
  border-radius: var(--r-lg); box-shadow: var(--shadow-sm);
}

/* ---------- ICONS ---------- */
.material-symbols-outlined.ms {
  font-variation-settings: 'FILL' 0, 'wght' 250, 'GRAD' 0, 'opsz' 24;
  vertical-align: middle; line-height: 1;
}

/* ---------- ARCH (TCM/wellness motif) ---------- */
.arch { border-radius: 999px 999px var(--r-lg) var(--r-lg); overflow: hidden; }
.arch-soft { border-radius: 50% 50% var(--r-lg) var(--r-lg) / 28% 28% var(--r-lg) var(--r-lg); overflow: hidden; }

/* ---------- IMAGE SLOT styling ---------- */
image-slot {
  background:
    radial-gradient(120% 80% at 50% 0%, var(--primary-soft), transparent 60%),
    var(--paper-2);
  color: var(--ink-3);
  border: 1px solid var(--line);
  font-family: var(--font-body);
  font-size: 13px;
}

/* ---------- DIVIDERS / FLOURISH ---------- */
.flourish { display: inline-flex; align-items: center; gap: 12px; color: var(--ink-3); }
.flourish::before, .flourish::after { content: ""; width: 38px; height: 1px; background: var(--line-2); }

/* ---------- HELPERS ---------- */
.stack-2 > * + * { margin-top: 8px; }
.stack-3 > * + * { margin-top: 12px; }
.stack-4 > * + * { margin-top: 16px; }
.stack-6 > * + * { margin-top: 24px; }
.tabnum { font-variant-numeric: tabular-nums; }
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.3,1); }
.reveal.in { opacity: 1; transform: none; }

/* fix sage palette soft typo fallback */
.pdm-root[data-palette="salvia"] { --sage-soft: #EAD9C6; }
