/* ============================================
   BIODOCES — Tema
   Confeitaria Artesanal · Várzea, Recife
   ============================================ */

/* --- Design Tokens --- */
:root {
  --rosa:       #cd6c80;
  --rosa-deep:  #b45768;
  --rosa-light: #dfa0ad;
  --menta:      #a8ceb8;
  --menta-light:#c5e0d0;

  /* Mapeamento para nomes compartilhados */
  --forest:      #a8ceb8;
  --forest-deep: #2A1F28;
  --leaf:        #b8d8c6;
  --leaf-light:  #d0e8da;
  --mango:       #cd6c80;
  --accent:      #a8ceb8;
  --sand:        #FDF5F6;
  --sand-warm:   #F5EDEA;
  --earth:       #1A1118;
  --earth-mid:   #6B5460;
  --bark:        #2A1F28;
  --cream:       #FFF9F7;
  --bege:        #E8D5D0;
  --white:       #ffffff;

  --font-display: 'Playfair Display', Georgia, serif;
  --font-body:    'Inter', sans-serif;

  --space-xs:  0.5rem;
  --space-sm:  1rem;
  --space-md:  1.5rem;
  --space-lg:  2.5rem;
  --space-xl:  4rem;
  --space-2xl: 6rem;
  --space-3xl: 8rem;

  --radius-sharp:   0px;
  --radius-organic: 24px;
  --radius-pill:    999px;

  --shadow-card:       0 4px 24px rgba(42, 31, 40, 0.06);
  --shadow-card-hover: 0 16px 48px rgba(42, 31, 40, 0.12);

  --ease-spring:   cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-smooth:   cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --duration-fast:   0.2s;
  --duration-normal: 0.4s;
  --duration-slow:   0.7s;
}

/* --- Blur Blobs --- */
.blur-blob         { opacity: 0.07; }
.blur-blob--1      { background: var(--rosa); }
.blur-blob--2      { background: var(--menta); }
.blur-blob--3      { background: var(--rosa-light); }

/* --- Back to Hub --- */
.back-to-hub:hover { color: var(--rosa); }

/* --- em styling global --- */
.hero__title em, h2 em, h3 em, p em {
  font-style: italic;
  color: var(--rosa);
}

/* --- Hero --- */
.hero {
  background: var(--white);
  color: var(--earth);
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 50% at 10% 85%, rgba(205, 108, 128, 0.07) 0%, transparent 55%),
    radial-gradient(ellipse 50% 40% at 80% 15%, rgba(168, 206, 184, 0.05) 0%, transparent 50%);
  pointer-events: none;
  z-index: 1;
}
.hero__badge         { color: var(--rosa); background: rgba(205, 108, 128, 0.1); }
.hero__badge::before { background: var(--rosa); }
.hero__title         { color: var(--forest-deep); font-weight: 700; }
.hero__lead          { color: var(--earth-mid); }

/* --- Buttons --- */
.btn--primary {
  background: var(--rosa);
  color: var(--white);
  box-shadow: 0 4px 16px rgba(205, 108, 128, 0.25);
}
.btn--primary:hover {
  background: var(--rosa-deep);
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 8px 28px rgba(205, 108, 128, 0.35);
}
.btn--primary:active { transform: translateY(0) scale(0.98); }

.btn--outline {
  background: transparent;
  color: var(--forest-deep);
  border: 2px solid rgba(42, 31, 40, 0.2);
}
.btn--outline:hover {
  border-color: var(--rosa);
  color: var(--rosa);
  background: rgba(205, 108, 128, 0.05);
  transform: translateY(-2px);
}

.btn--dark { background: var(--forest-deep); color: var(--sand); }
.btn--dark:hover { background: var(--earth); transform: translateY(-2px); }

/* --- Impact Bar --- */
.impact-bar              { background: var(--forest-deep); }
.impact-stat__number     { color: var(--white); }
.impact-stat__label      { color: var(--rosa-light); }

/* --- Section colors --- */
.section--sand  { background: var(--sand); }
.section--cream { background: var(--white); }
.section--warm  { background: var(--sand-warm); }

.section--cta {
  background: linear-gradient(-45deg, var(--forest-deep), #3d1f2a, #2A1F28, #3d1f2a, var(--forest-deep));
  background-size: 400% 400%;
  animation: gradient-move 10s ease infinite;
}
.section--cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 90% 50%, rgba(205, 108, 128, 0.12) 0%, transparent 55%),
    radial-gradient(ellipse 40% 60% at 10% 30%, rgba(168, 206, 184, 0.07) 0%, transparent 50%);
  pointer-events: none;
}
.section--cta .section-header--center { color: var(--white); }
.section--cta em { color: var(--rosa-light); }

.section__label { color: var(--rosa); }
.section__title { color: var(--forest-deep); }
.section__text  { color: var(--earth-mid); }

/* --- About --- */
.about-card           { background: var(--cream); border: 1px solid rgba(42, 31, 40, 0.06); }
.about-card__icon     { background: var(--rosa); }
.about-card__title    { color: var(--forest-deep); }
.about-card__text     { color: var(--earth-mid); }

/* --- Features (light sections) --- */
.feature {
  background: var(--cream);
  border: 1px solid rgba(42, 31, 40, 0.06);
}
.section--cream .feature { background: var(--sand); }
.feature::before         { background: linear-gradient(90deg, var(--rosa), var(--menta)); }
.feature__icon           { color: var(--rosa); }
.feature__title          { color: var(--forest-deep); }
.feature__text           { color: var(--earth-mid); }

/* --- Features (dark section — Nossos Produtos) --- */
.feature--dark {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(205, 108, 128, 0.18);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: none;
}
.feature--dark:hover {
  border-color: var(--rosa-light);
  box-shadow: 0 16px 48px rgba(205, 108, 128, 0.2);
}
.feature--dark::before  { background: linear-gradient(90deg, var(--rosa), var(--menta-light)); }
.feature--dark .feature__icon  { color: var(--rosa-light); }
.feature--dark .feature__title { color: var(--white); }
.feature--dark .feature__text  { color: rgba(253, 245, 246, 0.72); }

/* --- CTA Block --- */
.cta-block__title { color: var(--sand); }
.cta-block__text  { color: var(--bege); }

/* --- Quote --- */
.quote-section { background: var(--forest-deep); }
.quote-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  opacity: 0.6;
  pointer-events: none;
}
.quote-block__mark    { color: var(--rosa); }
.quote-block__text    { 
  color: var(--sand);
  font-size: clamp(2.5rem, 5vw + 1rem, 4rem);
  line-height: 1.15;
}
.quote-block__caption { color: var(--rosa-light); }

/* --- Contact --- */
.contact-info dt { color: var(--rosa); }
.contact-info dd { color: var(--earth); }
.contact-card    { background: var(--cream); border: 1px solid rgba(42, 31, 40, 0.06); }
.contact-card__title       { color: var(--forest-deep); }
.contact-card__item        { color: var(--earth); }
.contact-card__item:hover  { color: var(--rosa); padding-left: 0.3rem; }

/* --- Footer --- */
.footer      { background: var(--bark); color: var(--bege); }
.footer a    { color: var(--rosa-light); }
.footer a:hover { color: var(--white); }
.footer__hub-link { color: var(--rosa-light); }
.footer__copy    { border-top: 1px solid rgba(232, 213, 208, 0.1); }
