/* =========================================================================
   Rise Urban Art Hotel — base
   Tokens do kit do Elementor (cores, tipografia e breakpoints), reset,
   tipografia, botões, formulários e utilitários.
   Breakpoints do site original: tablet ≤ 1024px, mobile ≤ 767px.
   ========================================================================= */

/* ---------- Fontes locais (antes vinham do Google Fonts) ---------- */
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 300 700; font-display: swap;
  src: url("../fonts/roboto-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; }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 300 700; font-display: swap;
  src: url("../fonts/roboto-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; }
@font-face { font-family: "Roboto"; font-style: italic; font-weight: 300 700; font-display: swap;
  src: url("../fonts/roboto-italic-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; }
@font-face { font-family: "Roboto"; font-style: italic; font-weight: 300 700; font-display: swap;
  src: url("../fonts/roboto-italic-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; }
@font-face { font-family: "Roboto Condensed"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("../fonts/roboto-condensed-500-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; }
@font-face { font-family: "Roboto Condensed"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("../fonts/roboto-condensed-500-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; }
@font-face { font-family: "Heebo"; font-style: normal; font-weight: 300; font-display: swap;
  src: url("../fonts/heebo-300-latin.woff2") format("woff2"); }

/* ---------- Tokens ---------- */
:root {
  /* cores globais do kit */
  --c-primary: #4C8077;      /* Primary */
  --c-secondary: #005247;    /* Secondary */
  --c-text: #1D2228;         /* Text */
  --c-accent: #FB8122;       /* Accent (CTAs) */
  --c-white: #FFFFFF;        /* Netral */
  --c-bg-light: #F5F5F5;     /* BG Light */
  --c-bg-light-2: #E1E2E2;   /* BG Light 2 */
  --c-whatsapp: #25D366;     /* Whatsapp */
  --c-peach: #FFD0AB;        /* Icon Test */

  /* O kit do Elementor define Roboto / Roboto Condensed / Heebo, mas no site atual essas fontes
     nunca carregam (o WP-Optimize quebra o <link> do Google Fonts) e o visitante vê a fonte do
     sistema: Helvetica no Mac/iPhone, Arial no Windows, Roboto no Android. Para ficar igual ao
     que se vê hoje, usamos a mesma pilha. Para usar as fontes do tema, troque pelas linhas
     comentadas e descomente os <link rel="preload"> em parciais/head.html.
     --font: "Roboto", sans-serif; --font-cond: "Roboto Condensed", sans-serif; --font-heebo: "Heebo", sans-serif; */
  /* Desde 10/11/2026 o site atual carrega a Roboto para todos: voltamos às fontes do tema (servidas pelo próprio site). */
  --font: "Roboto", Helvetica, Arial, sans-serif;
  --font-cond: "Roboto Condensed", "Roboto", Helvetica, Arial, sans-serif;
  --font-heebo: "Heebo", Helvetica, Arial, sans-serif;

  /* escala tipográfica (desktop) — "Primary/H1" 72, "Secondary/H2" 49, H3 36, H4 26, H5 19, H6 13 */
  --fs-display: 72px;
  --fs-h1: 72px;
  --fs-h2: 49px;
  --fs-h3: 36px;
  --fs-h4: 26px;
  --fs-h5: 19px;
  --fs-h6: 13px;
  --fs-text: 16px;
  --fs-small: 14px;
  --fs-nav: 16px;
  --fs-accent: 13px;
  --fs-footer: 13px;
  --fs-button: 12px;

  --container: 1280px;
  --gutter: 16px;            /* padding lateral das seções (1em) */
  --header-h: 76px;
  --shadow-header: 0 0 10px rgba(0, 0, 0, .25);
  --shadow-dropdown: 0 10px 30px rgba(0, 0, 0, .25);
}
@media (max-width: 1024px) {
  :root {
    --fs-display: 48px; --fs-h1: 48px; --fs-h2: 36px; --fs-h3: 28px; --fs-h4: 22px; --fs-h5: 17px; --fs-h6: 12px;
    --fs-text: 15px; --fs-small: 13px; --fs-nav: 15px; --fs-accent: 12px; --fs-footer: 12px;
    --header-h: 66px;
  }
}
@media (max-width: 767px) {
  :root {
    --fs-display: 38px; --fs-h1: 38px; --fs-h2: 29px; --fs-h3: 24px; --fs-h4: 20px; --fs-h5: 16px; --fs-h6: 11px;
    --fs-text: 14px; --fs-small: 12px; --fs-nav: 14px; --fs-accent: 11px; --fs-footer: 11px; --fs-button: 11px;
    --gutter: 14px;
    --header-h: 59px;
  }
}

/* ---------- Reset enxuto ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + 16px); }
body {
  margin: 0;
  background: var(--c-white);
  color: var(--c-text);
  font-family: var(--font);
  font-size: var(--fs-text);
  font-weight: 300;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img, svg, video, iframe { display: block; max-width: 100%; }
img { height: auto; }
figure { margin: 0; }
:where(ul, ol, dl, dd) { margin-block: 0; } /* reset do tema Hello: listas sem margem vertical */
pre { white-space: pre-wrap; } /* como no tema Hello: texto colado como <pre> quebra linha (sem rolagem lateral no celular) */
ul[role="list"], ol[role="list"] { list-style: none; margin: 0; padding: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }
b, strong { font-weight: bolder; }

/* ---------- Tipografia ---------- */
h1, h2, h3, h4, h5, h6 { margin: 0; color: inherit; font-family: var(--font); }
h1 { font-size: var(--fs-h1); font-weight: 700; line-height: 1; letter-spacing: 7px; }
h2 { font-size: var(--fs-h2); font-weight: 700; line-height: 1.1; }
h3 { font-size: var(--fs-h3); font-weight: 600; line-height: 1.1; }
h4 { font-size: var(--fs-h4); font-weight: 600; line-height: 1.1; }
h5 { font-size: var(--fs-h5); font-weight: 600; line-height: 1.2; }
h6 { font-size: var(--fs-h6); font-weight: 600; line-height: 1.2; text-transform: uppercase; }

/* estilos globais do kit aplicáveis a qualquer elemento */
.t-display  { font-size: var(--fs-display); font-weight: 700; line-height: 1; letter-spacing: -2px; }  /* Primary */
.t-h2       { font-size: var(--fs-h2); font-weight: 700; line-height: 1.1; }                          /* Secondary */
.t-h3       { font-size: var(--fs-h3); font-weight: 600; line-height: 1.1; }
.t-h4       { font-size: var(--fs-h4); font-weight: 600; line-height: 1.1; }
.t-h5       { font-size: var(--fs-h5); font-weight: 600; line-height: 1.2; }
.t-accent   { font-size: var(--fs-accent); font-weight: 600; line-height: 1.2; letter-spacing: .1px; text-transform: uppercase; } /* Accent / H6 */
.t-small    { font-size: var(--fs-small); font-weight: 300; line-height: 1.6; }
.t-nav      { font-family: var(--font-cond); font-size: var(--fs-nav); font-weight: 500; text-transform: uppercase; }
.t-footer   { font-family: var(--font-heebo); font-size: var(--fs-footer); font-weight: 300; }

a { color: var(--c-text); text-decoration: none; transition: color .2s; }
a:hover { color: var(--c-accent); }
:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 2px; }

/* ---------- Ícones (sprite SVG em /assets/icons/icons.svg) ---------- */
.icon { display: inline-block; width: 1em; height: 1em; fill: currentColor; flex: none; vertical-align: -.125em; }

/* ---------- Botões ---------- */
/* Padrão usado nos widgets do site: tipografia "Accent" (13/600/uppercase) */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  padding: 12px 24px;
  border: 0; border-radius: 0;
  background: var(--c-accent); color: var(--c-white);
  font-family: var(--font); font-size: var(--fs-accent); font-weight: 600; line-height: 1.2; letter-spacing: .1px; text-transform: uppercase;
  text-align: center; cursor: pointer;
  transition: background-color .3s, color .3s;
}
.btn:hover, .btn:focus-visible { background: var(--c-secondary); color: var(--c-white); }
.btn--block { display: flex; width: 100%; }
/* Botão "do kit" (formulários): 12/400/uppercase com 2.5px de espaçamento */
.btn--kit { font-size: var(--fs-button); font-weight: 400; letter-spacing: 2.5px; }
.btn--ghost { background: transparent; color: var(--c-text); }

/* ---------- Formulários (kit) ---------- */
label { font-weight: 600; line-height: 1.5; }
:where(input:not([type="button"]):not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
textarea, select) {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid var(--c-bg-light); border-radius: 0;
  background: var(--c-bg-light); color: var(--c-text);
  font-size: var(--fs-text); font-weight: 300; line-height: 1.4;
  transition: background-color .2s, border-color .2s;
}
:where(input:focus:not([type="button"]):not([type="submit"]), textarea:focus, select:focus) {
  background: var(--c-white); border-color: var(--c-bg-light-2); outline: none;
}

/* ---------- Layout ---------- */
.container { width: 100%; max-width: calc(var(--container) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
/* Caixa de 1280px em que o Elementor encaixava os blocos (com 10px de respiro nas telas menores) */
.boxed { max-width: var(--container); margin-inline: auto; }
@media (max-width: 1300px) { .boxed { margin-inline: 10px; } }
.section { padding-block: 96px; }
@media (max-width: 767px) { .section { padding-block: 56px; } }

/* ---------- Utilitários ---------- */
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: 8px; top: -100px; z-index: 1000; padding: 10px 16px; background: var(--c-text); color: var(--c-white); }
.skip-link:focus { top: 8px; color: var(--c-white); }
.text-center { text-align: center; }
[hidden] { display: none !important; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
