/* ============================================================
   SUNLIT OASIS — custom.css
   Fontes locais, variáveis de cor, animações e efeitos.
   NÃO modifica o layout Wix — apenas sobrepõe e complementa.
   ============================================================ */


/* ============================================================
   1. @font-face — fontes locais
   ============================================================ */

/* Open Sans Condensed 300 – latin-ext */
@font-face {
  font-family: 'open sans condensed';
  font-style:  normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/open-sans-condensed-300-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
                 U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF,
                 U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
                 U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Open Sans Condensed 300 – latin */
@font-face {
  font-family: 'open sans condensed';
  font-style:  normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/open-sans-condensed-300-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC,
                 U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
                 U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
                 U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Open Sans Condensed 700 – latin-ext */
@font-face {
  font-family: 'open sans condensed';
  font-style:  normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/open-sans-condensed-700-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
                 U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF,
                 U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
                 U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Open Sans Condensed 700 – latin */
@font-face {
  font-family: 'open sans condensed';
  font-style:  normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/open-sans-condensed-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC,
                 U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
                 U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
                 U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Assistant (alias "assistant-light") 300 – latin-ext */
@font-face {
  font-family: 'assistant-light';
  font-style:  normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/assistant-300-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
                 U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF,
                 U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
                 U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Assistant 300 – latin */
@font-face {
  font-family: 'assistant-light';
  font-style:  normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/assistant-300-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC,
                 U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
                 U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
                 U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Assistant 400 – latin-ext */
@font-face {
  font-family: 'assistant-light';
  font-style:  normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/assistant-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
                 U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF,
                 U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
                 U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Assistant 400 – latin */
@font-face {
  font-family: 'assistant-light';
  font-style:  normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/assistant-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC,
                 U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
                 U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
                 U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Assistant 600 – latin-ext */
@font-face {
  font-family: 'assistant-light';
  font-style:  normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/assistant-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
                 U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF,
                 U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
                 U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Assistant 600 – latin */
@font-face {
  font-family: 'assistant-light';
  font-style:  normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/assistant-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC,
                 U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
                 U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
                 U+2212, U+2215, U+FEFF, U+FFFD;
}


/* ============================================================
   2. Variáveis de cor
   ============================================================ */

:root {
  --sl-white:         #ffffff;
  --sl-light:         #f8f8f8;
  --sl-gray:          #7d7d7d;
  --sl-text:          #414141;
  --sl-text-dark:     #242323;
  --sl-orange:        #f57b1b;
  --sl-gold:          #c1a44e;
  --sl-teal-dark:     #2f4f4f;
  --sl-green-logo:    #32584e;
  --sl-green-check:   #058466;
  --sl-transition:    0.35s ease;
  --sl-reveal-time:   0.65s;
  --sl-reveal-ease:   cubic-bezier(0.22, 1, 0.36, 1);
}


/* ============================================================
   3. Antialiasing global
   ============================================================ */

html,
body,
.wixui-rich-text,
.wixui-rich-text__text {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html {
  scroll-behavior: smooth;
}


/* ============================================================
   4. Header — sombra ao fazer scroll
   ============================================================ */

#SITE_HEADER {
  transition: background-color var(--sl-transition),
              box-shadow var(--sl-transition);
}

#SITE_HEADER.sl-scrolled {
  background-color: rgba(255, 255, 255, 0.97) !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.10);
}


/* ============================================================
   5. Scroll reveal — elementos entram com fadeInUp
   ============================================================ */

.sl-reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity var(--sl-reveal-time) var(--sl-reveal-ease),
              transform var(--sl-reveal-time) var(--sl-reveal-ease);
}

.sl-reveal.sl-visible {
  opacity: 1;
  transform: translateY(0);
}

.sl-reveal[data-delay="1"] { transition-delay: 0.10s; }
.sl-reveal[data-delay="2"] { transition-delay: 0.20s; }
.sl-reveal[data-delay="3"] { transition-delay: 0.30s; }
.sl-reveal[data-delay="4"] { transition-delay: 0.40s; }
.sl-reveal[data-delay="5"] { transition-delay: 0.50s; }


/* ============================================================
   6. Menu de âncoras vertical — ponto activo
   ============================================================ */

/* Resolve the CSS-variable chain directly so all browsers paint gold.
   color_44 = 193,164,78  /  symbolColorSelected = 219,184,154            */
#comp-iyqlriur {
  --symbolColor: 193,164,78;
  --alpha-symbolColor: 0.85;
  --symbolColorSelected: 219,184,154;
  --alpha-symbolColorSelected: 1;
}

/* Outer ring — hidden by default, shows when active */
#comp-iyqlriur .Qtf_ni circle:first-child {
  stroke: rgba(193, 164, 78, 0.85);
  stroke-width: 2;
  fill: transparent;
  opacity: 0;
  transition: opacity 0.25s ease;
}

/* Small inner dot — always visible, gold-filled */
#comp-iyqlriur .Qtf_ni circle:nth-child(2) {
  stroke: rgba(219, 184, 154, 1);
  stroke-width: 2;
  fill: rgba(193, 164, 78, 0.85);
  opacity: 1;
}

/* Third circle (E95JEI) — hide it, visual is handled by circle 2 */
#comp-iyqlriur .Qtf_ni circle:nth-child(3) {
  display: none;
}

/* Active dot — show outer ring */
#comp-iyqlriur .WlDYdm.sl-active .Qtf_ni circle:first-child,
#comp-iyqlriur .WlDYdm.AezRFp  .Qtf_ni circle:first-child {
  opacity: 0.75;
}

/* Hover */
#comp-iyqlriur .WlDYdm:hover .Qtf_ni circle:nth-child(2) {
  opacity: 0.7;
}


/* ============================================================
   7. Botões — hover
   ============================================================ */

/* CTA principal */
#comp-iyqa32ko a,
#comp-iyqa32ko button {
  transition: opacity var(--sl-transition),
              transform var(--sl-transition),
              box-shadow var(--sl-transition);
}

#comp-iyqa32ko a:hover,
#comp-iyqa32ko button:hover {
  opacity: 0.88;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(245, 123, 27, 0.40);
}

/* Botão SAIBA MAIS */
#comp-m0cnk1kh a,
#comp-m0cnk1kh button {
  transition: opacity var(--sl-transition),
              transform var(--sl-transition);
}

#comp-m0cnk1kh a:hover,
#comp-m0cnk1kh button:hover {
  opacity: 0.85;
  transform: translateY(-1px);
}

/* Botão Enviar */
#comp-ka28qe823 button {
  transition: opacity var(--sl-transition),
              transform var(--sl-transition),
              box-shadow var(--sl-transition);
  cursor: pointer;
}

#comp-ka28qe823 button:hover {
  opacity: 0.88;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(245, 123, 27, 0.35);
}

#comp-ka28qe823 button:active {
  transform: translateY(0);
}


/* ============================================================
   8. Seletor de língua — seta animada
   ============================================================ */

.LoinW8 .FeuKbY svg {
  transition: transform 0.25s ease;
}

.LoinW8.s5_f9m .FeuKbY svg {
  transform: rotate(180deg);
}


/* ============================================================
   9. Formulário — focus dos campos
   ============================================================ */

#comp-ka28qe78 input,
#comp-ka28qe78 textarea {
  transition: border-color var(--sl-transition),
              box-shadow var(--sl-transition);
}

#comp-ka28qe78 input:focus,
#comp-ka28qe78 textarea:focus {
  outline: none;
  border-color: var(--sl-orange) !important;
  box-shadow: 0 0 0 2px rgba(245, 123, 27, 0.18);
}


/* ============================================================
   10. Slideshow — botões prev/next
   ============================================================ */

[data-testid="prevButton"],
[data-testid="nextButton"] {
  transition: opacity var(--sl-transition),
              transform var(--sl-transition);
  cursor: pointer;
}

[data-testid="prevButton"]:hover,
[data-testid="nextButton"]:hover {
  opacity: 0.75;
  transform: scale(1.08);
}


/* ============================================================
   11. Ícones de contacto — hover
   ============================================================ */

#comp-j0lgdklw,
#comp-iyqdrng7 {
  transition: transform var(--sl-transition);
}

#comp-j0lgdklw:hover,
#comp-iyqdrng7:hover {
  transform: scale(1.12);
}


/* ============================================================
   12. Parallax hero — camada de preenchimento
   ============================================================ */

#comp-j0034v5s [data-testid="fillLayers"],
#comp-j0034v5s [class*="fillLayer"] {
  will-change: transform;
}


/* ============================================================
   13. Skip-to-content acessível
   ============================================================ */

.SITE_SKIP_CONTENT_BTN {
  position: absolute !important;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.SITE_SKIP_CONTENT_BTN:focus {
  left: 16px;
  top: 16px;
  width: auto;
  height: auto;
  overflow: visible;
  z-index: 200000;
  padding: 8px 16px;
  background: var(--sl-orange);
  color: #fff;
  font-family: 'open sans condensed', sans-serif;
  font-size: 14px;
  border-radius: 3px;
}

/* ── Slideshow ──────────────────────────────────────────────────────────────── */
/* Increase height from 392px → 430px so the longest slide (Catarina in PT/FR)
   shows fully without nav dots overlapping the bottom golden bar. */
#comp-j04jg22m {
  height: 430px !important;
}

/* Clip overflow at the new boundary; ensure wrapper fills the container */
#comp-j04jg22m .hDJzl4 {
  overflow: hidden;
  height: 100%;
}

/* Slides sit inside Wix's absolute-positioned .hDJzl4 wrapper */
#comp-j04jg22m .sl-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: transform 0.5s cubic-bezier(.4, 0, .2, 1);
}

/* ============================================================

/* ============================================================
   RESPONSIVO — MOBILE (≤ 980px)
   Root fix: os wrappers inlineContent do Wix têm width:980px
   fixo; ao torná-los 100% toda a cadeia fica responsiva.
   ============================================================ */

@media (max-width: 980px) {

  /* ── Prevenir scroll horizontal ───────────────────────── */
  html, body { overflow-x: hidden; }

  /* ══════════════════════════════════════════════════════════
     CORREÇÃO RAIZ — a variável --site-width:980px força
     #site-root a min-width:980px, causando overflow em tudo.
     Redefinimos a variável para 100vw e removemos min-width.
  ══════════════════════════════════════════════════════════ */
  :root { --site-width: 100vw; }
  #site-root {
    min-width: 0   !important;
    width:     100% !important;
  }
  /* Restante cadeia de containers raiz */
  #masterPage, #PAGES_CONTAINER, #SITE_PAGES,
  #SITE_PAGES_TRANSITION_GROUP,
  #c1dmp, #Containerc1dmp,
  [data-mesh-id="Containerc1dmpinlineContent"],
  [data-mesh-id="Containerc1dmpinlineContent-gridContainer"],
  #comp-lvl22ol6,
  [data-mesh-id="comp-lvl22ol6inlineContent"],
  [data-mesh-id="comp-lvl22ol6inlineContent-gridContainer"] {
    width:     100% !important;
    max-width: 100% !important;
  }

  /* wix-26.css define min-width:980px em todos os wrappers de
     secção por ID — estes são carregados DEPOIS do custom.css
     e precisam de ser neutralizados com !important            */
  #comp-lvl22ol5, #comp-lvl22ol51, #comp-lvl22ol6,
  #comp-lvl22ol7, #comp-lvl22ol8, #comp-m06j38s8 {
    min-width: 0   !important;
    width:     100% !important;
    max-width: 100% !important;
  }

  /* ══════════════════════════════════════════════════════════
     CORREÇÃO RAIZ — todos os wrappers inlineContent do Wix
     são 980px fixos; torná-los 100% resolve o overflow.
  ══════════════════════════════════════════════════════════ */
  [data-mesh-id$="inlineContent"] {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Remover min-width:980px das strips de secção */
  [data-mesh-id$="inlineContent-gridContainer"] {
    min-width: 0 !important;
  }

  /* Remover o deslocamento negativo calc((100%-980px)*0.5)
     de TODOS os filhos directos dos gridContainers           */
  [data-mesh-id$="inlineContent-gridContainer"] > *,
  [data-mesh-id$="inlineContent-gridContainer"] > interact-element > * {
    margin-left:  0 !important;
    left:         0 !important;
  }

  /* Remover min-width fixo nas strips externas */
  #comp-j0034uqk, #comp-iyq75v54, #comp-iyq784yy,
  #comp-iyq79k2z, #comp-iyq7b3tx { min-width: 0 !important; }

  /* ── Colunas com width:980px fixo no Wix CSS ─────────── */
  /* Sem isto, todo o conteúdo filho herda 980px e transborda */
  #comp-j0034v5s,
  #comp-iyq75v8k,
  #comp-iyq7850h,
  #comp-iyq79k4s,
  #comp-iyq7b3vt {
    width:     100% !important;
    max-width: 100% !important;
  }
  /* Elementos de texto do hero (também 980px fixo) */
  #comp-m06j38ug2,
  #comp-m06j38ui {
    width:     100% !important;
    max-width: 100% !important;
  }

  /* ══════════════════════════════════════════════════════════
     CABEÇALHO
  ══════════════════════════════════════════════════════════ */
  #SITE_HEADER { height: auto !important; min-height: 80px !important; }

  [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] {
    display:        flex !important;
    flex-direction: row !important;
    flex-wrap:      wrap !important;
    align-items:    center !important;
    padding:        8px 16px !important;
    min-height:     80px !important;
    grid-template-rows: unset !important;
  }

  [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] > *,
  [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] > interact-element > * {
    position:  relative !important;
    grid-area: unset !important;
    margin:    0 !important;
  }

  /* Logótipo */
  #comp-m06m2es5 {
    width: 40px !important; height: 44px !important;
    flex-shrink: 0; order: 1; margin-right: 10px !important;
  }
  /* Título "Sunlit Oasis" */
  #comp-iyq56kp9 { flex: 1 1 auto; order: 2; width: auto !important; }
  #comp-iyq56kp9 h1 { font-size: 26px !important; line-height: 1.2em !important; }

  /* Seletor de idioma — oculto no cabeçalho (aparece no overlay) */
  #comp-m1nuuy7j { display: none !important; }

  /* Espaço para botão hamburger (order:4, injectado por JS) */
  #sl-burger { order: 4; }

  /* Subtítulo */
  #comp-iyq5cemx { width: 100% !important; order: 5; padding-left: 50px !important; }
  #comp-iyq5cemx h6 { font-size: 11px !important; }

  /* Nav desktop: esconder */
  #comp-j2g5d0n01 { display: none !important; }

  /* ══════════════════════════════════════════════════════════
     HAMBURGER BUTTON
  ══════════════════════════════════════════════════════════ */
  #sl-burger {
    display:          flex !important;
    position:         fixed !important;
    top:              28px !important;
    right:            16px !important;
    left:             auto !important;
    z-index:          8500 !important;
    flex-direction:   column;
    justify-content:  center;
    align-items:      center;
    gap:              5px;
    width:            40px;
    height:           40px;
    background:       transparent;
    border:           none;
    cursor:           pointer;
    padding:          4px;
    flex-shrink:      0;
    -webkit-tap-highlight-color: transparent;
  }
  #sl-burger span {
    display:       block;
    width:         24px;
    height:        2px;
    background:    rgb(var(--color_44, 193,164,78));
    border-radius: 2px;
    transition:    transform .25s, opacity .25s;
  }
  #sl-burger.sl-burger--open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  #sl-burger.sl-burger--open span:nth-child(2) { opacity: 0; }
  #sl-burger.sl-burger--open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* ══════════════════════════════════════════════════════════
     MENU MOBILE (overlay)
  ══════════════════════════════════════════════════════════ */
  #sl-mobile-nav {
    position:   fixed;
    inset:      0;
    background: rgba(255, 255, 255, 0.96);
    z-index:    9999;
    display:    flex;
    flex-direction: column;
    padding:    0;
    transform:  translateX(100%);
    transition: transform .3s cubic-bezier(.4,0,.2,1);
    overflow-y: auto;
  }
  #sl-mobile-nav.sl-mobile-nav--open { transform: translateX(0); }

  .sl-mobile-nav__top {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    padding:         10px 16px;
    border-bottom:   1px solid #e8e8e8;
    min-height:      64px;
  }
  .sl-mobile-nav__brand {
    display:     flex;
    align-items: center;
    gap:         8px;
    flex:        1;
  }
  .sl-mobile-nav__brand-logo {
    width:       36px;
    height:      36px;
    flex-shrink: 0;
  }
  .sl-mobile-nav__brand-logo img {
    width: 100%; height: auto; display: block;
  }
  .sl-mobile-nav__brand-name {
    font-size:      14px;
    font-weight:    700;
    color:          var(--color_44, #c4a44a);
    letter-spacing: .02em;
    line-height:    1.2;
  }
  .sl-mobile-nav__brand-sub {
    font-size:      9px;
    color:          #888;
    letter-spacing: .04em;
    text-transform: uppercase;
  }
  .sl-mobile-nav__top-right {
    display:     flex;
    align-items: center;
    gap:         8px;
    flex-shrink: 0;
  }
  .sl-mobile-nav__close {
    background: transparent;
    border:     none;
    font-size:  28px;
    cursor:     pointer;
    color:      #333;
    line-height: 1;
    padding:    0 4px;
    -webkit-tap-highlight-color: transparent;
  }
  .sl-mobile-nav__lang {
    font-family: inherit;
    font-size:   14px;
    padding:     6px 28px 6px 10px;
    border:      1.5px solid var(--color_44, #c4a44a);
    border-radius: 4px;
    background:  transparent;
    color:       #333;
    cursor:      pointer;
    appearance:  none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23333'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 10px 6px;
  }
  .sl-mobile-nav__links { padding: 0 20px; }
  .sl-mobile-nav__link {
    display:     block;
    padding:     18px 0;
    font-family: inherit;
    font-size:   15px;
    font-weight: 600;
    letter-spacing: .08em;
    color:       var(--color_44, #c4a44a);
    text-decoration: none;
    text-align:  center;
  }
  .sl-mobile-nav__link:active { opacity: .7; }
  .sl-mobile-nav__sep {
    height: 1px; background: #e8e8e8; margin: 0;
  }

  /* ══════════════════════════════════════════════════════════
     HERÓI
  ══════════════════════════════════════════════════════════ */
  [data-mesh-id="comp-j0034v5sinlineContent-gridContainer"] {
    display:        flex !important;
    flex-direction: column !important;
    align-items:    center !important;
    padding:        60px 20px 40px !important;
    box-sizing:     border-box !important;
    min-height:     auto !important;
    grid-template-rows: unset !important;
  }
  [data-mesh-id="comp-j0034v5sinlineContent-gridContainer"] > *,
  [data-mesh-id="comp-j0034v5sinlineContent-gridContainer"] > interact-element > * {
    position:  relative !important;
    margin:    0 0 16px !important;
    width:     100% !important;
    max-width: 100% !important;
    grid-area: unset !important;
  }
  #comp-m06j38ug2 h3 { font-size: 34px !important; }
  #comp-m06j38ui  p  { font-size: 16px !important; }

  /* CTA button */
  #comp-iyqa32ko {
    display: flex !important; justify-content: center !important;
  }
  #comp-iyqa32ko a, #comp-iyqa32ko button {
    height: auto !important; padding: 12px 24px !important;
    white-space: normal !important; line-height: 1.4 !important;
    text-align: center !important;
  }

  /* ══════════════════════════════════════════════════════════
     SOBRE NÓS — texto à esquerda, imagem à direita (grid)
  ══════════════════════════════════════════════════════════ */
  [data-mesh-id="comp-iyq75v8kinlineContent-gridContainer"] {
    display:               grid !important;
    grid-template-columns: 57% 43% !important;
    grid-template-rows:    unset !important;
    padding:               0 !important;
    min-height:            auto !important;
    overflow:              hidden !important;
    align-items:           start !important;
    position:              static !important;
  }
  [data-mesh-id="comp-iyq75v8kinlineContent-gridContainer"] > *,
  [data-mesh-id="comp-iyq75v8kinlineContent-gridContainer"] > interact-element > * {
    grid-column:  1 !important;
    position:     relative !important;
    grid-area:    unset !important;
    margin:       0 !important;
    left:         0 !important;
    width:        auto !important;
    max-width:    100% !important;
  }
  /* Ocultar separador horizontal rotacionado */
  [data-mesh-id="comp-iyqagvsa-rotated-wrapper"] { display: none !important; }
  /* Título com barra dourada à esquerda */
  #comp-iyqak0dw {
    border-left: 3px solid rgb(var(--color_44, 193,164,78)) !important;
    padding:     16px 12px 10px 12px !important;
    margin:      20px 0 0 16px !important;
    width:       calc(100% - 31px) !important;
    max-width:   calc(100% - 31px) !important;
  }
  #comp-iyqak0dw h2 { font-size: 28px !important; }
  /* Texto */
  #comp-iyqaqu0w {
    padding:   4px 12px 28px 16px !important;
    order:     unset !important;
    width:     calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
  }
  /* Imagem: coluna direita, todas as linhas */
  #comp-iyq76mo1 {
    grid-column:  2 !important;
    grid-row:     1 / span 10 !important;
    align-self:   stretch !important;
    position:     relative !important;
    right:        0 !important;
    top:          0 !important;
    width:        100% !important;
    height:       100% !important;
    max-height:   none !important;
    overflow:     hidden !important;
  }
  #comp-iyq76mo1 img {
    width:            100% !important;
    height:           100% !important;
    object-fit:       cover !important;
    object-position:  top center !important;
  }

  /* ══════════════════════════════════════════════════════════
     SERVIÇOS
  ══════════════════════════════════════════════════════════ */
  [data-mesh-id="comp-iyq7850hinlineContent-gridContainer"] {
    display:        flex !important;
    flex-direction: column !important;
    padding:        40px 20px !important;
    box-sizing:     border-box !important;
    min-height:     auto !important;
    grid-template-rows: unset !important;
  }
  [data-mesh-id="comp-iyq7850hinlineContent-gridContainer"] > *,
  [data-mesh-id="comp-iyq7850hinlineContent-gridContainer"] > interact-element > * {
    position:  relative !important;
    margin:    0 0 20px !important;
    width:     100% !important;
    max-width: 100% !important;
    grid-area: unset !important;
  }
  #comp-iyqb214x h2 { font-size: 36px !important; }

  /* Caixa de serviços */
  #comp-iyqb894k { width: 100% !important; --alpha-bg: 1 !important; }
  [data-mesh-id="comp-iyqb894kinlineContent-gridContainer"] {
    display:        flex !important;
    flex-direction: column !important;
    padding:        24px 20px !important;
    box-sizing:     border-box !important;
    min-height:     auto !important;
    grid-template-rows: unset !important;
  }
  [data-mesh-id="comp-iyqb894kinlineContent-gridContainer"] > *,
  [data-mesh-id="comp-iyqb894kinlineContent-gridContainer"] > interact-element > * {
    position:  relative !important;
    margin:    0 !important;
    width:     100% !important;
    max-width: 100% !important;
    grid-area: unset !important;
  }

  /* Esconder ícones SVG separados; as pseudo-classes abaixo substituem */
  #comp-m06l96up, #comp-m06lao3t, #comp-m06laspc, #comp-m06lbb5l, #comp-m06lboez,
  #comp-m06la313, #comp-m06ladm1, #comp-m06lb527, #comp-m06lbj3e, #comp-m06lbtg2 {
    display: none !important;
  }

  /* Blocos de texto de serviços: estilo de lista com checkmark */
  #comp-iyqbrswe, #comp-m06kv8st {
    width: 100% !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: auto !important;
  }
  #comp-iyqbrswe p, #comp-m06kv8st p {
    display:     flex !important;
    align-items: flex-start !important;
    gap:         10px !important;
    padding:     6px 0 !important;
    margin:      0 !important;
    font-size:   15px !important;
    line-height: 1.5 !important;
  }
  /* SVG icon injectado por JS em cada parágrafo real */
  #comp-iyqbrswe p svg.sl-svc-svg,
  #comp-m06kv8st p svg.sl-svc-svg {
    width:       22px !important;
    height:      22px !important;
    flex-shrink: 0 !important;
    margin-top:  2px !important;
  }

  /* Botão "Saiba Mais" */
  #comp-m0cnk1kh { align-self: center; width: auto !important; }

  /* ══════════════════════════════════════════════════════════
     TESTEMUNHOS
  ══════════════════════════════════════════════════════════ */
  [data-mesh-id="comp-iyq79k4sinlineContent-gridContainer"] {
    display:        flex !important;
    flex-direction: column !important;
    padding:        40px 0 !important;
    box-sizing:     border-box !important;
    min-height:     auto !important;
    grid-template-rows: unset !important;
  }
  [data-mesh-id="comp-iyq79k4sinlineContent-gridContainer"] > *,
  [data-mesh-id="comp-iyq79k4sinlineContent-gridContainer"] > interact-element > * {
    position:  relative !important;
    margin:    0 0 16px !important;
    width:     100% !important;
    max-width: 100% !important;
    grid-area: unset !important;
  }
  [data-mesh-id="comp-iyq79k4sinlineContent-wedge-3"] { display: none !important; }

  #comp-iyqctq11 { width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
  #comp-iyqctq11 h2 { font-size: 36px !important; }

  /* Slideshow: largura total */
  #comp-j04jg22m { left: 0 !important; width: 100% !important; height: 520px !important; }

  /* Slides e seus inlineContent */
  #comp-m0cgkmkw, #comp-m0cgko54, #comp-m0dmop3o,
  #comp-m0dmornr, #comp-m0dmwyjp, #comp-m1ntzlp8 { width: 100% !important; }

  /* Conteúdo dos slides */
  [data-mesh-id="comp-m0cgko54inlineContent-gridContainer"],
  [data-mesh-id="comp-m0cgkmkwinlineContent-gridContainer"],
  [data-mesh-id="comp-m0dmop3oinlineContent-gridContainer"],
  [data-mesh-id="comp-m0dmornrinlineContent-gridContainer"],
  [data-mesh-id="comp-m0dmwyjpinlineContent-gridContainer"],
  [data-mesh-id="comp-m1ntzlp8inlineContent-gridContainer"] {
    display:        flex !important;
    flex-direction: column !important;
    align-items:    center !important;
    padding:        24px 20px !important;
    box-sizing:     border-box !important;
    min-height:     auto !important;
    grid-template-rows: unset !important;
    margin-bottom:  0 !important;
  }
  [data-mesh-id="comp-m0cgko54inlineContent-gridContainer"] > *,
  [data-mesh-id="comp-m0cgko54inlineContent-gridContainer"] > interact-element > *,
  [data-mesh-id="comp-m0cgkmkwinlineContent-gridContainer"] > *,
  [data-mesh-id="comp-m0cgkmkwinlineContent-gridContainer"] > interact-element > *,
  [data-mesh-id="comp-m0dmop3oinlineContent-gridContainer"] > *,
  [data-mesh-id="comp-m0dmop3oinlineContent-gridContainer"] > interact-element > *,
  [data-mesh-id="comp-m0dmornrinlineContent-gridContainer"] > *,
  [data-mesh-id="comp-m0dmornrinlineContent-gridContainer"] > interact-element > *,
  [data-mesh-id="comp-m0dmwyjpinlineContent-gridContainer"] > *,
  [data-mesh-id="comp-m0dmwyjpinlineContent-gridContainer"] > interact-element > *,
  [data-mesh-id="comp-m1ntzlp8inlineContent-gridContainer"] > *,
  [data-mesh-id="comp-m1ntzlp8inlineContent-gridContainer"] > interact-element > * {
    position:  relative !important;
    margin:    0 0 8px !important;
    width:     100% !important;
    max-width: 100% !important;
    grid-area: unset !important;
  }
  [data-mesh-id="comp-m0cgkmkwinlineContent-wedge-6"] { display: none !important; }

  /* ══════════════════════════════════════════════════════════
     CONTATO
  ══════════════════════════════════════════════════════════ */
  /* Âncora de contato: sem altura visual */
  #comp-iyqkwaic { height: 0 !important; overflow: hidden !important; margin: 0 !important; }
  [data-mesh-id="comp-lvl22ol8inlineContent-wedge-3"] { display: none !important; }

  [data-mesh-id="comp-lvl22ol8inlineContent-gridContainer"] {
    display:        flex !important;
    flex-direction: column !important;
    min-height:     auto !important;
    grid-template-rows: unset !important;
  }
  [data-mesh-id="comp-lvl22ol8inlineContent-gridContainer"] > *,
  [data-mesh-id="comp-lvl22ol8inlineContent-gridContainer"] > interact-element > * {
    position:  relative !important;
    margin:    0 !important;
    width:     100% !important;
    max-width: 100% !important;
    grid-area: unset !important;
  }

  [data-mesh-id="comp-iyq7b3vtinlineContent-gridContainer"] {
    display:               grid !important;
    grid-template-columns: 36px 1fr !important;
    grid-template-rows:    unset !important;
    column-gap:            12px !important;
    row-gap:               6px !important;
    padding:               32px 20px !important;
    box-sizing:            border-box !important;
    min-height:            auto !important;
    align-items:           center !important;
  }
  [data-mesh-id="comp-iyq7b3vtinlineContent-gridContainer"] > *,
  [data-mesh-id="comp-iyq7b3vtinlineContent-gridContainer"] > interact-element > * {
    position:    relative !important;
    grid-area:   unset !important;
    grid-column: 1 / -1 !important;
    margin:      0 !important;
    width:       auto !important;
    max-width:   100% !important;
    box-sizing:  border-box !important;
    left:        0 !important;
  }
  /* Heading com barra dourada */
  #comp-iyqd9ly31 {
    grid-column:  1 / -1 !important;
    grid-row:     1 !important;
    border-left:  3px solid rgb(var(--color_44, 193,164,78)) !important;
    padding:      8px 0 8px 12px !important;
    margin-bottom: 4px !important;
  }
  #comp-iyqd9ly31 h4 { font-size: 28px !important; }
  /* Ocultar separador rotacionado */
  [data-mesh-id="comp-iyqd9ly3-rotated-wrapper"] { display: none !important; }
  /* Texto intro: span 2 cols */
  #comp-iyqd9ly4 {
    grid-column:   1 / -1 !important;
    grid-row:      2 !important;
    margin-bottom: 8px !important;
  }
  /* Ícones: coluna 1, tamanho fixo */
  #comp-j0lgdklw {
    grid-column:  1 !important;
    grid-row:     3 / 5 !important;
    width:        28px !important;
    height:       28px !important;
    align-self:   center !important;
    overflow:     visible !important;
  }
  #comp-iyqdrng7 {
    grid-column:  1 !important;
    grid-row:     5 !important;
    width:        28px !important;
    height:       28px !important;
    align-self:   center !important;
    overflow:     visible !important;
  }
  /* Números de telefone: coluna 2 */
  #comp-iyqdrng8 { grid-column: 2 !important; grid-row: 3 !important; }
  #comp-m1jckveh { grid-column: 2 !important; grid-row: 4 !important; margin-bottom: 6px !important; }
  #comp-iyqdlwa5 { grid-column: 2 !important; grid-row: 5 !important; }

  /* Formulário — abaixo da info de contato, largura total */
  #comp-ka28qe6u {
    width:      calc(100% - 40px) !important;
    margin:     0 20px 30px !important;
    box-sizing: border-box !important;
  }
  #comp-ka28qe78 { width: 100% !important; }
  [data-mesh-id="comp-ka28qe78inlineContent-gridContainer"] {
    display:        flex !important;
    flex-direction: column !important;
    padding:        16px !important;
    box-sizing:     border-box !important;
    min-height:     auto !important;
    grid-template-rows: unset !important;
  }
  [data-mesh-id="comp-ka28qe78inlineContent-gridContainer"] > *,
  [data-mesh-id="comp-ka28qe78inlineContent-gridContainer"] > interact-element > * {
    position:   relative !important;
    margin:     0 0 10px !important;
    width:      100% !important;
    max-width:  100% !important;
    grid-area:  unset !important;
    box-sizing: border-box !important;
  }
  #comp-ka28qe7m, #comp-ka28qe7s2, #comp-ka28qe7u2,
  #comp-ka28qe7x, #comp-ka28qe823 {
    width: 100% !important; box-sizing: border-box !important;
  }
  #input_comp-ka28qe7m, #input_comp-ka28qe7s2,
  #input_comp-ka28qe7u2, #textarea_comp-ka28qe7x {
    width: 100% !important; box-sizing: border-box !important;
  }

  /* ══════════════════════════════════════════════════════════
     RODAPÉ
  ══════════════════════════════════════════════════════════ */
  [data-mesh-id="SITE_FOOTERinlineContent-gridContainer"] {
    display:         flex !important;
    justify-content: center !important;
    padding:         16px !important;
    min-height:      auto !important;
    grid-template-rows: unset !important;
  }
  [data-mesh-id="SITE_FOOTERinlineContent-gridContainer"] > *,
  [data-mesh-id="SITE_FOOTERinlineContent-gridContainer"] > interact-element > * {
    position:   relative !important;
    margin:     0 !important;
    width:      100% !important;
    max-width:  100% !important;
    grid-area:  unset !important;
    text-align: center !important;
  }

  /* ══════════════════════════════════════════════════════════
     MENU DE ÂNCORAS LATERAL: ocultar
  ══════════════════════════════════════════════════════════ */
  #comp-iyqlriur-pinned-layer { display: none !important; }

} /* fim @media (max-width: 980px) */


/* ============================================================
   SMARTPHONES PEQUENOS (≤ 480px) — ajustes adicionais
   ============================================================ */

@media (max-width: 480px) {
  #comp-iyq56kp9 h1 { font-size: 20px !important; }
  #comp-m06m2es5 { width: 34px !important; height: 38px !important; }
  #comp-iyq5cemx { padding-left: 44px !important; }
  #comp-m06j38ug2 h3 { font-size: 26px !important; }
  #comp-ka28qe6u { width: calc(100% - 24px) !important; margin: 0 12px 20px !important; }
}
