/* ══════════════════════════════════════════════════════════════════
   CLÍNICA ETHERNA — Design System v2.1
   ATUALIZAÇÃO: Full-width articles + Responsive completo
   PC · Tablet · Mobile
   ══════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Questrial&family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&display=swap');

/* ── Variáveis ─────────────────────────────────────────────────── */
:root {
  --eth-gold-light:  #F0D898;
  --eth-gold:        #C9A96E;
  --eth-gold-dark:   #9E7A45;
  --eth-black:       #1A1A1A;
  --eth-black-soft:  #3A3835;
  --eth-rose-blush:  #FDF0F2;
  --eth-rose-soft:   #E8B4BA;
  --eth-rose:        #D4919A;
  --eth-rose-deep:   #B5687A;
  --eth-sage-pale:   #EDF3EE;
  --eth-sage-soft:   #C2D9C6;
  --eth-sage:        #8DAF93;
  --eth-sage-deep:   #5A8B63;
  --eth-cream:       #FAF8F5;
  --eth-white:       #FFFFFF;
  --eth-text:        #1A1A1A;
  --eth-text-mid:    #4A4846;
  --eth-text-light:  #808080;
  --eth-font-title:  'Questrial', sans-serif;
  --eth-font-body:   'Montserrat', sans-serif;
  --eth-ease:        cubic-bezier(0.25, 0.46, 0.45, 0.94);

  /* Padding lateral responsivo */
  --eth-pad: clamp(1.2rem, 5vw, 7rem);
}

/* ── Reset responsivo base ─────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 16px; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
img, video, iframe { max-width: 100%; height: auto; }

/* ── Tipografia global ─────────────────────────────────────────── */
body, p, li, td, blockquote, input, select, textarea, button {
  font-family: var(--eth-font-body);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6, .wp-element-heading {
  font-family: var(--eth-font-title) !important;
  font-weight: 400 !important;
  line-height: 1.3;
}


/* ══════════════════════════════════════════════════════════════════
   FULL-WIDTH PARA TODAS AS PÁGINAS E ARTIGOS
   ══════════════════════════════════════════════════════════════════ */

/* Remove largura máxima do conteúdo em artigos/páginas */
.single .entry-content,
.single .post-content,
.page .entry-content,
.page .post-content,
article .entry-content,
.wp-block-post-content,
.wp-singular .entry-content {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Remove contentor interno que limita largura */
.site-main,
.wp-site-blocks,
main#primary,
#content,
.content-area,
.entry-content > *,
.post-content > * {
  max-width: 100% !important;
  width: 100% !important;
}

/* Gutenberg alignfull em artigos */
.single .wp-block-cover.alignfull,
.single .wp-block-group.alignfull,
.single .wp-block-columns.alignfull,
.page  .wp-block-cover.alignfull,
.page  .wp-block-group.alignfull,
.page  .wp-block-columns.alignfull {
  max-width: 100vw !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* alignwide */
.wp-block-columns.alignwide,
.wp-block-group.alignwide,
.alignwide {
  max-width: min(1280px, calc(100% - 2rem));
  margin-left: auto;
  margin-right: auto;
}

/* Remove padding do body/main que causa margens indesejadas */
body.single,
body.page {
  overflow-x: hidden;
}

/* Garante que o tema não adiciona padding lateral ao article */
.hentry,
article.hentry {
  padding: 0 !important;
  margin: 0 !important;
}


/* ══════════════════════════════════════════════════════════════════
   SEPARADORES, BOTÕES, ANIMAÇÕES (igual à versão anterior)
   ══════════════════════════════════════════════════════════════════ */

.sep-gold  { background-color: var(--eth-gold)     !important; border-color: var(--eth-gold)     !important; height: 1px !important; }
.sep-rose  { background-color: var(--eth-rose-soft) !important; border-color: var(--eth-rose-soft) !important; height: 1px !important; }
.sep-sage  { background-color: var(--eth-sage-soft) !important; border-color: var(--eth-sage-soft) !important; height: 1px !important; }
.sep-black { background-color: var(--eth-black)    !important; border-color: var(--eth-black)    !important; height: 1px !important; }

.fade-in-up   { opacity:0; transform:translateY(44px); transition:opacity 1s var(--eth-ease),transform 1s var(--eth-ease); }
.slide-in-left{ opacity:0; transform:translateX(-52px);transition:opacity 1.1s var(--eth-ease),transform 1.1s var(--eth-ease); }
.slide-in-right{opacity:0; transform:translateX(52px); transition:opacity 1.1s var(--eth-ease),transform 1.1s var(--eth-ease); }
.fade-in      { opacity:0; transition:opacity 1.3s var(--eth-ease); }
.fade-in-up.is-visible,.slide-in-left.is-visible,.slide-in-right.is-visible,.fade-in.is-visible { opacity:1; transform:none; }

.tratamento-card:nth-child(2){transition-delay:.12s}
.tratamento-card:nth-child(3){transition-delay:.24s}
.tratamento-card:nth-child(4){transition-delay:.36s}
.tratamento-card:nth-child(5){transition-delay:.48s}
.valor-card:nth-child(2){transition-delay:.18s}
.valor-card:nth-child(3){transition-delay:.36s}
.membro-equipa:nth-child(2){transition-delay:.15s}
.membro-equipa:nth-child(3){transition-delay:.30s}
.membro-equipa:nth-child(4){transition-delay:.45s}

.etherna-hero .wp-block-cover__inner-container { animation: ethHero 1.8s var(--eth-ease) forwards; }
@keyframes ethHero { from{opacity:0;transform:translateY(36px)} to{opacity:1;transform:none} }

.tratamento-card { transition:transform .45s var(--eth-ease),box-shadow .45s var(--eth-ease)!important; overflow:hidden; }
.tratamento-card:hover { transform:translateY(-8px)!important; box-shadow:0 24px 48px rgba(0,0,0,.10)!important; }
.tratamento-card img { transition:transform .6s var(--eth-ease)!important; }
.tratamento-card:hover img { transform:scale(1.04)!important; }

.membro-equipa { transition:transform .4s var(--eth-ease); text-align:center; }
.membro-equipa:hover { transform:translateY(-6px); }
.etherna-img-circle img { border-radius:50%!important; object-fit:cover!important; }
.etherna-img-round  img { border-radius:4px!important;  object-fit:cover!important; }

.blog-card { transition:transform .4s var(--eth-ease),box-shadow .4s var(--eth-ease); }
.blog-card:hover { transform:translateY(-6px); box-shadow:0 16px 32px rgba(0,0,0,.08); }

.valor-card { transition:transform .45s var(--eth-ease); }
.valor-card:hover { transform:translateY(-8px); }

.etherna-stats .stat-item { position:relative; }
.etherna-stats .stat-item:not(:last-child)::after {
  content:''; position:absolute; right:0; top:15%; height:70%;
  width:1px; background:rgba(90,62,27,.3);
}

.wp-block-button__link {
  font-family:var(--eth-font-body)!important;
  transition:background-color .4s var(--eth-ease),color .4s var(--eth-ease),letter-spacing .4s var(--eth-ease)!important;
}
.cta-dourado .wp-block-button__link:hover   { background-color:var(--eth-black)!important; color:var(--eth-gold)!important; }
.cta-preto .wp-block-button__link:hover    { background-color:var(--eth-gold)!important;  color:var(--eth-black)!important; letter-spacing:.3em!important; }
.cta-rosa .wp-block-button__link:hover     { background-color:var(--eth-rose-deep)!important; }
.cta-sage .wp-block-button__link:hover     { background-color:var(--eth-sage-deep)!important; color:#fff!important; }
.cta-outline-branco .wp-block-button__link { background-color:transparent!important; border:1px solid rgba(255,255,255,.45)!important; }
.cta-outline-branco .wp-block-button__link:hover { background-color:var(--eth-gold)!important; border-color:var(--eth-gold)!important; color:var(--eth-black)!important; }

.pilar-integrativa,.pilar-estetica { transition:filter .4s var(--eth-ease)!important; }
.pilar-integrativa:hover { filter:brightness(.97); }
.pilar-estetica:hover    { filter:brightness(.97); }


/* ══════════════════════════════════════════════════════════════════
   RESPONSIVO — DESKTOP GRANDE (>1400px)
   ══════════════════════════════════════════════════════════════════ */
@media (min-width: 1400px) {
  .wp-block-columns.alignwide,
  .alignwide { max-width: 1320px; }
}


/* ══════════════════════════════════════════════════════════════════
   RESPONSIVO — TABLET LANDSCAPE (768px–1024px)
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {

  /* Colunas de 3 → 2 */
  .wp-block-columns.alignwide .wp-block-column:nth-child(3):last-child {
    flex-basis: 100% !important;
  }

  /* Stats bar — esconder divisores */
  .etherna-stats .stat-item::after { display: none; }

  /* Padding lateral reduzido */
  [style*="padding-left:clamp(1.5rem,8vw,7rem)"] {
    padding-left: clamp(1.2rem, 4vw, 3rem) !important;
    padding-right: clamp(1.2rem, 4vw, 3rem) !important;
  }
}


/* ══════════════════════════════════════════════════════════════════
   RESPONSIVO — TABLET PORTRAIT (600px–768px)
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* Colunas → stack vertical */
  .wp-block-columns:not(.is-not-stacked-on-mobile) {
    flex-direction: column !important;
  }
  .wp-block-columns:not(.is-not-stacked-on-mobile) .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
  }

  /* Hero min-height mobile */
  .etherna-hero.wp-block-cover,
  .clinica-hero.wp-block-cover {
    min-height: 100svh !important;
  }

  /* Texto hero menor */
  .etherna-hero h1,
  .clinica-hero h1 {
    font-size: clamp(2rem, 10vw, 3.2rem) !important;
  }

  /* Cards de tratamento — 2 colunas em tablet */
  .wp-block-columns.alignwide .wp-block-column.tratamento-card {
    flex-basis: calc(50% - 0.75rem) !important;
    min-width: calc(50% - 0.75rem) !important;
  }

  /* Pilares — full width */
  .pilar-integrativa,
  .pilar-estetica {
    min-height: 280px !important;
  }

  /* Botões — centrar e stack */
  .wp-block-buttons {
    flex-direction: column !important;
    align-items: center !important;
  }
  .wp-block-button {
    width: 100% !important;
    max-width: 320px !important;
  }
  .wp-block-button__link {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }

  /* Stats bar — 2x2 grid */
  .etherna-stats .wp-block-columns {
    flex-wrap: wrap !important;
  }
  .etherna-stats .wp-block-column {
    flex-basis: 50% !important;
    padding: 0.8rem 0 !important;
    border-bottom: 1px solid rgba(90,62,27,.15);
  }

  /* Linha do tempo — stack */
  .wp-block-columns.alignwide .wp-block-column[style*="border-left"] {
    border-left: none !important;
    border-top: 2px solid;
    padding-left: 0 !important;
    padding-top: 1.5rem !important;
  }

  /* Padding vertical reduzido */
  .wp-block-group[style*="padding-top:5.5rem"] {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }
  .wp-block-group[style*="padding-top:6rem"] {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
}


/* ══════════════════════════════════════════════════════════════════
   RESPONSIVO — MOBILE (<600px)
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 600px) {

  /* Colunas → sempre stack */
  .wp-block-columns,
  .wp-block-columns.is-not-stacked-on-mobile {
    flex-direction: column !important;
  }
  .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
  }

  /* Cards tratamento → full width */
  .tratamento-card {
    width: 100% !important;
    flex-basis: 100% !important;
  }

  /* Headings escalados para mobile */
  h1, .wp-element-heading[style*="font-size:clamp(2.8rem"] {
    font-size: clamp(1.9rem, 8vw, 2.6rem) !important;
  }
  h2, .wp-element-heading {
    font-size: clamp(1.3rem, 6vw, 1.9rem) !important;
  }

  /* Padding lateral mínimo */
  .wp-block-cover__inner-container,
  .wp-block-group {
    padding-left: 1.2rem !important;
    padding-right: 1.2rem !important;
  }

  /* Stats → stack */
  .etherna-stats .wp-block-column {
    flex-basis: 100% !important;
    padding: 1rem 0 !important;
  }

  /* Citações — texto menor */
  .wp-block-cover .wp-element-heading {
    font-size: clamp(1.1rem, 5vw, 1.6rem) !important;
  }

  /* Botões — full width */
  .wp-block-button {
    width: 100% !important;
  }
  .wp-block-button__link {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
    font-size: 0.65rem !important;
    letter-spacing: 0.18em !important;
  }

  /* Imagens em colunas — full height */
  .etherna-img-round img,
  .slide-in-left img,
  .slide-in-right img {
    aspect-ratio: 4/3 !important;
    width: 100% !important;
  }

  /* Linha do tempo — simplificar */
  .wp-block-column[style*="border-left"] {
    border-left: none !important;
    border-top: 2px solid var(--eth-gold) !important;
    padding-left: 0 !important;
    padding-top: 1.2rem !important;
    margin-top: 1.5rem !important;
  }

  /* Valores / cards — padding reduzido */
  .valor-card[style*="padding:2.8rem"] {
    padding: 1.8rem 1.4rem !important;
  }
  .valor-card[style*="padding:2.5rem"] {
    padding: 1.6rem 1.2rem !important;
  }

  /* Pullquote cover — altura menor */
  .wp-block-cover[style*="min-height:380px"],
  .wp-block-cover[style*="min-height:420px"] {
    min-height: 280px !important;
  }

  /* Timeline items */
  .wp-block-column[style*="border-top:3px"] {
    margin-top: 0 !important;
    padding-top: 1.5rem !important;
  }

  /* Footer grid */
  .etherna-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  .etherna-footer-bottom {
    flex-direction: column !important;
    text-align: center !important;
    gap: 0.8rem !important;
  }
  .etherna-footer-legal {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 0.8rem !important;
  }
}


/* ══════════════════════════════════════════════════════════════════
   RESPONSIVO — MOBILE PEQUENO (<400px)
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 400px) {
  :root { font-size: 14px; }

  h1 { font-size: clamp(1.7rem, 9vw, 2.2rem) !important; }

  .etherna-logo img { height: 32px !important; }

  .wp-block-button__link {
    letter-spacing: 0.12em !important;
    font-size: 0.62rem !important;
  }

  /* Reduz padding vertical ainda mais */
  .wp-block-group[style*="padding-top:5.5rem"] {
    padding-top: 2.8rem !important;
    padding-bottom: 2.8rem !important;
  }
}


/* ══════════════════════════════════════════════════════════════════
   TOUCH / MOBILE UX
   ══════════════════════════════════════════════════════════════════ */

/* Alvos de toque mínimos 44px */
.wp-block-button__link,
.wp-block-navigation a,
a.etherna-read-more {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

/* Remove hover em touch devices */
@media (hover: none) {
  .tratamento-card:hover { transform: none !important; box-shadow: none !important; }
  .valor-card:hover { transform: none !important; }
  .blog-card:hover { transform: none !important; }
  .membro-equipa:hover { transform: none !important; }
  .tratamento-card:hover img { transform: none !important; }
}

/* Scroll suave em iOS */
* { -webkit-overflow-scrolling: touch; }

/* Prevenir zoom em inputs iOS */
input, select, textarea {
  font-size: 16px !important;
}
