/*
Theme Name: Fraiha 2026
Theme URI: https://jakson.co/
Author: Jakson / Toborino
Author URI: https://jakson.co/ / https://toborino.com
Description: 
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 8.2
Version: 2.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fraiha
Tags: Block Editor Patterns, Site Editor
*/
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/*  Smoot Scroll */
html {
  scroll-behavior: smooth;
}

/*  Reduced motion prefs  */
@media screen and (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

@view-transition {
  navigation: auto;
}

body {
  -moz-text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
  -ms-text-size-adjust: 100%;
  -ms-font-feature-settings: 'lnum' 1, 'frac' 0, 'liga' 1, 'clig' 1;
  -o-font-feature-settings: 'lnum' 1, 'frac' 0, 'liga' 1, 'clig' 1;
  -webkit-font-feature-settings: 'lnum' 1, 'frac' 0, 'liga' 1, 'clig' 1;
  -webkit-font-kerning: normal;
  -webkit-font-smoothing: antialiased;
  -webkit-font-feature-settings: 'kern' 1;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: 'lnum' 1, 'frac' 0, 'liga' 1, 'clig' 1;
  font-kerning: normal;
  position: relative;
  text-rendering: optimizeLegibility;
  word-wrap: break-word;
}

.editor-visual-editor__post-title-wrapper h1 {
  font-size: var(--wp--preset--font-size--large) !important;
}

a {
  text-underline-offset: 5px;
}

a[rel~="noreferrer"],
a[rel~="noopener"],
a[rel~="nofollow"] {
  position: relative;
}

a[rel~="noreferrer"]::after,
a[rel~="noopener"]::after,
a[rel~="nofollow"]::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 3px 0 8px;
  mask: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAQElEQVR42qXKwQkAIAxDUUdxtO6/RBQkQZvSi8I/pL4BoGw/XPkh4XigPmsUgh0626AjRsgxHTkUThsG2T/sIlzdTsp52kSS1wAAAABJRU5ErkJggg==) no-repeat center;
  mask-size: contain;
  background: currentColor;
}

/* =============================================
   TOKENS (Design System)
============================================== */

:root {
  font-size: 16px;

  /* Espaçamentos e raio */
  --gap: clamp(.75rem, 1vw, 1.25rem);
  --radius: .375rem;
  --radius-sm: .5rem;
  /* mobile */

  /* Cores */
  --color-azul-a: #2583a6;
  /* R37 G131 B166 */
  --color-azul-a20: #2583a620;
  /* R37 G131 B166 */
  --color-azul-b: #67bfde;
  /* R103 G191 B222 */
  --color-azul-c: #004450;
  /* R0 G68 B80 */
  --color-azul-d: #03334b;
  /* R3 G51 B75 */
  --color-azul-e: #034a6e;
  /* R3 G74 B110 */

  --color-cinza-1: #606060;
  /* R96 G96 B96 */
  --color-cinza-2: #959595;
  /* R149 G149 B149 */
  --color-cinza-3: #b8b8b8;
  /* R184 G184 B184 */
  --color-cinza-350: #b8b8b850;
  /* R184 G184 B184 */
  --color-cinza-4: #f5f5f5;
  /* R245 G245 B245 */
  --color-preto: #000000;
  /* R0 G0 B0 */
  --color-branco: #ffffff;
  /* R255 G255 B255 */

  --color-vendas-1: #de5d24;
  /* R222 G93 B36 */
  --color-vendas-2: #efbd79;
  /* R239 G189 B121 */
  --color-vendas-3: #f7debc;
  /* R247 G222 B188 */
  --color-dourado: #9a8564;
  /* R154 G133 B100 */

  /* Imóveis */
  --imv-expand: #a9c7cf;
  --imv-145vianna: #9a8564;
  --imv-sanpaolo: #885548;
  --imv-parkavenue: #004450;
  --imv-locacao: #959595;

  /* Texto / Header */
  --text: var(--color-preto);
  --font-body: var(--wp--preset--font-family--atyp-text);
  --font-heading: var(--wp--preset--font-family--atyp-text);

  /* Larguras/Alturas */
  --max-content-width: 1920px;
  /*
  --header-height-large-desktop: 10vh;
  --header-height-desktop: 14vh;
  --header-height-tablet: 8vh;
  */
  --hh: 90px;

  --cta-bg: var(--color-vendas-1);
  /* azul petróleo/grafite */
  --cta-bg-hover: var(--color-azul-d);
  --cta-fg: var(--color-branco);
  /* ícone/texto */
  --cta-accent: #2ecc71;
  /* status online (verde discreto) */
  --cta-shadow: 0 8px 15px rgba(0, 0, 0, .18), 0 3px 10px rgba(0, 0, 0, .12);
  --cta-shadow-focus: 0 8px 22px rgba(0, 0, 0, .28), 0 4px 12px rgba(0, 0, 0, .18);
  --cta-radius: 999px;
  --cta-size: 60px;
  /* altura mínima do botão */
  --cta-pad-x: 18px;
  /* padding lateral quando expandido */
  --cta-gap: 10px;
  /* espaço entre ícone e texto */

  /* Typo */
  --ratio: 1.333;
  --min-base: var(--gap);
  /* 16px */

  --line-height-body: 1.5;
  --line-height-heading: 1.25;

  --text-color: var(--color-preto);
  --bg-color: var(--color-branco);
  --link-color: var(--color-azul-e);

  --section-max-w: min(100vw, 67.5rem);
  --section-pad-x: var(--gap);
  /* margem/padding lateral no mobile */

  --card-height: 40vw;
  --card-margin: 4vw;
  --card-top-offset: 1em;
  --outline-width: 0px;

  --swiper-pagination-color: var(--color-azul-b);

}

/* Media query for tablets (e.g., screens between 768px and 1024px) */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  :root {
    font-size: 14px; /* New root font size for tablets */
  }
}

/* =============================================
   BASE / Acessibilidade
============================================== */
.skip-link.screen-reader-text {
  border: 0;
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.skip-link.screen-reader-text:focus {
  background-color: #eee;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

.sr-only:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/* =============================================
   BASE / RESET
============================================== */
/* a */

a.wp-block-post-excerpt__more-link {
  font-size: 1rem;
  color: var(--color-azul-e);
}

.wp-block-post-title a {
  color: var(--color-preto) !important;
}

.sidebar-posts {
  font-size: 1rem;
}

.sidebar-posts a {
  color: var(--color-azul-e);
}

.sidebar-posts ul {
  list-style: none;
  padding-left: 0;
}

.sidebar-posts .wp-block-search__input {
  border: 1px solid var(--color-cinza-3);
}

.taxonomy-category .wp-block-post-terms a {
  text-decoration: none !important;
}

p.wp-block-post-excerpt__more-text,
.text-right {
  margin-top: 0;
  text-align: right;
}

/* Pagination */
.wp-block-query-pagination-numbers span.current {
  background: var(--color-azul-a);
  padding: .35rem 1rem .5rem;
  line-height: .5;
  color: var(--color-branco);
  border-radius: 9999px;
}

.wp-block-query-pagination-numbers a {
  padding: .35rem 1rem .5rem;
  line-height: .5;
  text-decoration: none;
}

.blog footer,
.archive footer,
.search footer,
.single footer {
  background-color: var(--color-branco);
}

/* Buttons */

.btn a {
  cursor: pointer;
  font-weight: 400;
  line-height: 1;
  margin: 0;
  position: relative;
  display: inline-block;
  outline: none;
  border-radius: 99rem;
  padding: 0.5rem 2rem 0.75rem;
  text-decoration: none;
  transition: all 0.3s ease;
}

.btn a.wp-block-navigation-item__content {
  padding-top: 0.45rem;
}

.btn a:focus {
  outline: 2px solid #000;
  outline-offset: 2px;
}

.btn.btn-primary a:focus {
  outline: 2px solid var(--color-azul-a);
  outline-offset: 2px;
}

.btn.btn-secondary a:focus {
  outline: 2px solid var(--color-azul-a);
  outline-offset: 2px;
}

.btn.btn-sales a:focus {
  outline: 2px solid var(--color-vendas-1);
  outline-offset: 2px;
}

.btn.btn-sales_secondary a:focus {
  outline: 2px solid var(--color-branco);
  outline-offset: 2px;
}

.btn.btn-primary a {
  color: #fff;
  border: 2px solid var(--color-azul-a);
  background: var(--color-azul-a);
}

.btn.btn-primary a:hover {
  background: #fff;
  color: var(--color-azul-a);
  text-decoration: none !important;
}

.btn.btn-secondary a {
  color: var(--color-azul-a);
  border: 2px solid var(--color-azul-a);
  background: #fff;
}

.btn.btn-secondary a:hover {
  background: var(--color-azul-a);
  color: #fff;
}

.btn.btn-sales a {
  color: #fff;
  border: 2px solid var(--color-vendas-1);
  background: var(--color-vendas-1);
}

.btn.btn-sales a:hover {
  background: #fff;
  color: var(--color-vendas-1);
}

.btn.btn-sales_secondary a {
  color: var(--color-vendas-1);
  border: 2px solid var(--color-vendas-1);
  background: #fff;
  padding: 0.5rem 2rem 0.75rem;
}

.btn.btn-sales_secondary a:hover {
  background: var(--color-vendas-1);
  color: #fff;
}

@media (max-width: 1024px) {

  .btn a,
  .btn a.wp-block-navigation-item__content,
  .btn.btn-sales_secondary a {
    padding: 0.65rem 2rem 0.65rem;
  }
}

/* =============================================
   BASE / Layout
   Main width constraint */

main {
  max-width: calc(var(--max-content-width) + 40px);
  margin: auto;
}

:where(body:not(:has(.noticias))) .entry-content ul {
    padding-left: 2rem;
    line-height: 1.4;
}

.entry-content li {
    margin-bottom: .5rem;
}

/*  Navigation Block Breakpoint. Credit: https://wpdocs.io/ */
body .wp-block-navigation__responsive-container-open:not(.always-shown) {
  display: block !important;
}

body .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
  display: none !important;
}

/* Change the width to the breakpoit of the Nav */
@media (min-width: 799px) {
  body .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: none !important;
  }

  body .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: block !important;
  }
}

/* end nav break point */

/* Nicley wrapped headlines */
h1,
h2,
h3,
h4 {
  text-wrap: balance;
}

/* I've no idea why when you add a backgroud colour to a column, WP by default adds padding to it... so weird - this get's rid of that */
:where(.wp-block-columns.has-background) {
  padding: initial;
}

/* Pull Quote */
.wp-block-pullquote blockquote {
  display: grid;
  gap: 20px;
}

.wp-block-pullquote cite {
  font-size: 80%;
  font-weight: 600;
}

/* Search Block */
.wp-block-search__input {
  border: 1px solid;
}

.wp-block-search__button {
  box-shadow: none;
  border: 1px solid var(--wp--preset--color-preto);
  border-radius: 0;
  color: white;
  padding: 0.4rem 1rem 0.5rem 1rem;
  font-weight: 500;
}


/* Button hover state  - core button block still does not have this and I can't figure out how to do it in theme.json! */
.wp-block-button__link,
a {
  transition: 0.3s;
}

.wp-block-button.is-style-fill .wp-block-button__link:hover {
  background: var(--wp--preset--color-branco);
  color: var(--wp--preset--color-preto);
}

.wp-block-button .wp-block-button__link:hover {
  background: var(--wp--preset--color--custom-custom-white);
  color: var(--wp--preset--color-preto);
  border-color: var(--wp--preset--color-preto);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--wp--preset--color-preto);
  color: var(--wp--preset--color-branco);
  border-color: var(--wp--preset--color-preto);
}

a:hover:not(.wp-block-site-title a,
  .wp-block-button__link.wp-element-button,
  .btn a, .wp-block-post-excerpt__more-link,
  .sidebar-posts a, .wp-block-cover a, .futuro-imoveis a, .atendimento a) {
  text-decoration: underline !important;
}

/* utils */

.w-100 {
  width: 100%;
}

.wp-bottom-menu {
  bottom: 8px;
  left: 8px;
  width: calc(100% - 1rem);
  border-radius: 2rem;
  box-shadow: 5px 5px 15px 5px rgba(0, 0, 0, 0.15);
}

.wp-bottom-menu-search-form-wrapper {
  left: 0;
}

.wp-bottom-menu-item span {
    margin-top: 0;
}

/* =============================================
   COMPONENTE: Header + Navegação (desktop)
============================================== */
header.site-header {
  width: calc(100% - (2 * var(--gap)));
  max-width: var(--max-content-width);
  padding: var(--gap) 0;
  border-radius: var(--radius);
  margin: auto;
}

.top {
  grid-area: header;
  position: relative;
  /* ancora o dropdown no mobile */
  /* height: var(--header-height-desktop); */
  height: var(--hh);
  border-radius: var(--radius);
  padding: var(--gap);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  color: var(--color-branco);
}

.logo {
  width: 158px;
  height: 56px;
}

.main-nav ul {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: center;
}

.main-nav li {
  margin-bottom: 0;
}

.main-nav li::before {
  content: " · ";
  margin-top: .35rem;
  margin-right: .75rem;
}

.main-nav li:first-child::before,
.main-nav li:last-child::before {
  content: "";
  margin-left: 0;
}

.main-nav a {
  color: var(--color-branco);
  font-size: 1.25rem;
  text-decoration: none;
}


.hamburger {
  display: none;
}

/* Bloco News */
.wp-block-post-featured-image :where(img) {
  width: 100%;
  object-fit: cover;
  border-radius: 4px;
}

.is-layout-constrained>.alignwide {
  max-width: var(--section-max-w) !important;
}


/* Bloco Diferenciais */

.diferenciais-section.grey-bg {
  background-color: #f5f5f5;
}

.cpt__header {
  margin-bottom: 3rem;
}

.difs-grid {
  display: grid;
  gap: calc(1.5rem * 1.5);
  grid-template-columns: repeat(auto-fit, minmax(clamp(16rem, 30vw, 22rem), 1fr));
  padding-bottom: 1rem;
}

.dif-item {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  column-gap: 1.5rem;
  row-gap: 0.5rem;
  margin-top: 0;
}

.dif-icon {
  width: 2.2em;
  height: 2.2em;
  display: grid;
  place-items: center;
  color: #111;
  flex: 0 0 auto;
}

.dif-icon svg {
  width: 100%;
  height: 100%;
}

.dif-title {
  margin: 0 0 0.5rem 0;
  font-size: 1.25rem;
  grid-column: 2 / -1;
}

.dif-text {
  grid-column: 2 / -1;
  margin: 0;
  color: #666;
  line-height: 1.6;
  text-wrap: balance;
}

@media (max-width: 768px) {
  .difs-grid {
    grid-template-columns: 1fr;
  }
}

/* Bloco Institucional */



/* =============================================
   COMPONENTE: CTA do Cliente (pílula)
============================================== */
.div-cta-cliente {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.cta-cliente {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .5rem 1rem;
  color: var(--color-branco);
  font-weight: 700;
  background: transparent;
  border: 2px solid var(--color-branco);
  border-radius: 9999px;
  line-height: 1;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
  transition:
    transform .15s ease,
    background-color .15s ease,
    color .15s ease,
    border-color .15s ease;
  -webkit-tap-highlight-color: transparent;
  text-decoration: none;
}

.cta-cliente svg,
.cta-cliente img {
  width: 1.25rem;
  height: 1.25rem;
}

.cta-cliente svg {
  stroke: var(--color-branco);
  fill: none;
}

.cta-cliente img {
  filter: brightness(0) invert(1);
}

@media (hover: hover) {
  .div-cta-cliente:hover .cta-cliente {
    background: var(--color-branco);
    color: var(--color-preto);
    border-color: var(--color-preto);
  }

  .div-cta-cliente:hover .cta-cliente svg {
    stroke: var(--color-preto);
  }
}

.cta-cliente:active {
  transform: translateY(1px);
}

.cta-cliente:focus-visible {
  outline: 3px solid #8bd3dd;
  outline-offset: 3px;
}

.cta-cliente.sm {
  padding: .45rem .9rem;
  gap: .5rem;
  margin: 0 auto;
}

@media (min-width: 768px) {

  .cta-cliente svg,
  .cta-cliente img {
    width: 1.35rem;
    height: 1.35rem;
  }
}

/* =============================================
   COMPONENTE: Hero (grid de destaque)
============================================== */
.hero {
  padding: 0 var(--gap);
  margin: 0 auto var(--gap);
  gap: var(--gap);
}

.hero>div {
  height: calc(100vh - (var(--hh) + (3 * var(--gap))));
}

.block-editor-iframe__body .hero>div {
  height: auto;
}

.hero-1 {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  grid-template-areas:
    "main";
  gap: var(--gap);
}

.hero-1_2 {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 3fr 3fr 1fr;
  grid-template-areas:
    "main side1"
    "main side2"
    "main side3";
  gap: var(--gap);
}

.hero-1_3 {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 6fr 1fr;
  grid-template-areas:
    "main side1"
    "main side2";
  gap: var(--gap);
}

.hero-1_3a {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 1fr;
  grid-template-areas:
    "main side1";
  gap: var(--gap);
}

.hero-1_4 {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 1fr 1fr 1fr;
  grid-template-areas:
    "main side1"
    "main side2"
    "main side3";
  gap: var(--gap);
}

.hero-3 {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: 1fr;
  grid-template-areas:
    "main side1 side2";
  gap: var(--gap);
}

.hero-3_4 {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: 1fr 1fr;
  grid-template-areas:
    "main side1 side2"
    "main side1 side3";
  gap: var(--gap);
}

.hero-4 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto auto auto;
  grid-template-areas:
    "main side1 side2"
    "main side1 side3"
    "main side1 side4";
  gap: var(--gap);
}

.hero-5 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  grid-template-areas:
    "main side1 sidebar"
    "side2 side3 sidebar";
  gap: var(--gap);
}

.hero-5o {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  grid-template-areas:
    "main side1 sidebaro"
    "side2 side3 sidebaro";
  gap: var(--gap);
}

.hero-6 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 2fr 1fr;
  grid-template-areas:
    "main side1 sidebar"
    "side2 side3 sidebar";
  gap: var(--gap);
}

.sidebar {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr auto .4fr;
  gap: var(--gap);
  grid-auto-flow: row;
  grid-template-areas:
    "side4"
    "side5"
    "side6";
}

.sidebaro {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto .4fr;
  gap: var(--gap);
  grid-auto-flow: row;
  grid-template-areas:
    "side4"
    "side6";
}

.top-badge {
  display: flex;
  gap: .5em;
  align-items: start;
  justify-content: end;
  text-transform: uppercase;
  position: absolute;
  top: 1rem;
  right: 1rem;
  margin-top: 0;
}

.top-badge p {
  background: color-mix(in srgb, #000 35%, transparent);
  backdrop-filter: blur(.4rem);
  padding: .35em .6em;
  border: .07em solid color-mix(in srgb, #fff 24%, transparent);
  border-radius: .5em;
  font-size: .8rem !important;
  line-height: 1;
  white-space: nowrap;
  z-index: 1;
  color: #fff;
  margin: .5rem;
}

.vendas-imoveis {
  background: var(--color-vendas-1);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.locacao-imoveis {
  background: var(--color-azul-e);
}

.futuro-imoveis {
  background: rgba(184, 184, 184, 0.5);
  background-image: url(assets/imagens/bg_logo_50.png);
  background-position: bottom right;
  background-repeat: no-repeat;
  background-blend-mode: lighten;
}

.portfolio-imoveis {
  background: var(--color-azul-e);
}

.portfolio-imoveis a {
  text-decoration: none;
}


/* =============================================
   COMPONENTE: Blocos (cards do hero)
============================================== */


.principal {
  grid-area: main;
}

.side1 {
  grid-area: side1;
}

.side2 {
  grid-area: side2;
}

.side3 {
  grid-area: side3;
}

.side4 {
  grid-area: side4;
}

.side5 {
  grid-area: side5;
}

.side6 {
  grid-area: side6;
}

.sidebar {
  grid-area: sidebar;
}

.sidebaro {
  grid-area: sidebaro;
}

/* Imóveis cores */
.imv-145vianna {
  background: var(--imv-145vianna);
  opacity: .85;
}

.imv-expand {
  background: var(--imv-expand);
  opacity: .95;
}

.imv-sanpaolo {
  background: var(--imv-sanpaolo);
  opacity: .85;
}

.imv-parkavenue {
  background: var(--imv-parkavenue);
  opacity: .85;
}

.imv-locacao {
  background: var(--imv-locacao);
  opacity: .85;
}


.block {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: var(--radius);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  container-type: inline-size;
  /* habilita @container */
}

.wp-block-cover {
  overflow: hidden;
}

/* Estado base do fundo (imagem) */
.wp-block-cover__image-background {
  transform: scale(1);
  transition: transform .6s cubic-bezier(.2, .6, .2, 1);
  will-change: transform;
  backface-visibility: hidden;
}

/* Hover: escala somente a imagem de fundo */
.wp-block-cover:hover>.wp-block-cover__image-background {
  transform: scale(1.03);
}

.single-imoveis .wp-block-cover:hover>.wp-block-cover__image-background {
  transform: scale(1);
}

.principal .wp-block-cover,
.hero-5 .wp-block-cover,
.hero-3_4 .principal .wp-block-cover,
.side1 .wp-block-cover,
.side2 .wp-block-cover,
.side3 .wp-block-cover,
.side4 .wp-block-cover,
.side5 .wp-block-cover,
.side6 .wp-block-cover {
  padding: .25em .5em !important;
}

/* preenche sem distorcer */

.block>* {
  margin-top: 0;
}

/* Ajustes visuais (opcional) */
.principal p {
  font-size: clamp(1.15rem, 1.8vw, 1.65rem);
}

/*
.hero-4 .principal p,
.block p {
  font-size: clamp(.75rem, 1.2vw, .85rem);
  margin-top: .15rem;
}
*/

.hero-5 .block.side5 p,
.hero-6 .block.side5 p {
  margin-top: .8rem;
  font-size: 1rem;
}

.lateral p {
  font-size: clamp(1.15rem, 1.8vw, 1.65rem);
}

.futuro-imoveis a {
  color: var(--color-preto);
}

.bloco {
  border-radius: var(--radius);
}

/* Wrapper do título com faixa abaixo do texto */
.headline-box {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  color: var(--color-branco);
  padding: .35rem .75rem;
  border-radius: var(--radius);
  border: 2px solid var(--color-branco);
  margin: 1rem;
  min-width: 220px;
  /* filter: drop-shadow(3px 3px 0px #ddd);
  -webkit-box-shadow: 3px 1px 15px 3px rgba(255,255,255,0.7); 
  box-shadow: 3px 1px 15px 3px rgba(255,255,255,0.7); */
}

.hero-1_2 .headline-box:not(.crv) {
  right: 0;
}

.wp-block-cover .wp-block-cover__background {
  bottom: 0;
  left: 0;
  opacity: 1 !important;
  position: absolute;
  right: 0;
  top: 80%;
  background-color: transparent !important;
  background: linear-gradient(0deg, rgba(0, 0, 0, .5) 75%, transparent 100%);
}

.single-imoveis .wp-block-cover .wp-block-cover__background {
  background: none;
}

.info-imovel {
  display: grid;
  gap: 0;
  color: var(--color-branco);
  padding: .35rem .75rem;
  width: 100%;
}

.wp-block-cover p {
  font-size: 1.15rem;
  margin: 0;
}

.wp-block-cover h3 {
  margin: 0;
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  line-height: 1.2;
}

.wp-block-cover h3 a {
  color: var(--color-branco);
  text-decoration: none;
}

.block.reclame {
  background: linear-gradient(135deg, #2583a6, #034a6e);
  padding: .5rem .75rem;
  display: flex;
}

.block.reclame.pa {
  background: linear-gradient(135deg, #202326, #282828);
  padding: .5rem .75rem;
  display: flex;
}

.block.reclame>* {
/* text-align: left !important; */
  color: var(--color-branco);
}

.block.reclame .fix {
  display: flex;
  gap: .5rem;
  width: 75%;
  align-items: center;
}

.block.reclame p {
  font-size: 1rem;
  text-wrap: balance;
}

.block.reclame figure {
    width: 48px;
    flex-shrink: 0;
}

.block.reclame a {
  color: var(--color-branco);
  text-decoration: none;
}

.lateral {
  position: absolute;
  /* fica acima da imagem */
  text-align: left;
  /* como no mock */
  left: 0;
  z-index: 1;
  bottom: 0;
  display: inline-block;
  /* largura = largura do texto */
  color: var(--color-branco);
  margin: .75rem 1.25rem;
}

.fraiha-anim .fa-line {
  white-space: normal;
}

.fraiha-anim .fa-char {
  opacity: 0;
  filter: blur(2px);
  transition: opacity .18s linear, filter .18s linear;
}

h3.fa-line {
  margin: 1rem 0;
  line-height: 1.1;
}

@keyframes cursor {
  50% {
    border-color: transparent;
  }
}

.cred-simp {
  display: flex;
  align-items: center;
  gap: calc(var(--gap)*1.5);
  padding-block: 1rem;
}

/* Colunas */
.cred-txt {
  flex: 1 1 50%;
  display: flex;
  flex-direction: column;
  gap: calc(var(--gap)*.75);
  margin-bottom: 2rem;
}

.cred-txt p:first-of-type {
  margin: 0;
}

.cred-media {
  flex: 1 1 50%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16/9;
  inline-size: 100%;
  border-radius: var(--radius);
  background: #eee;
  color: #666;
  text-decoration: none;
  overflow: hidden;
}

.cred-media img {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center;
}

.cred-media .icon {
  inline-size: clamp(1.6rem, 3vw, 2.2rem);
  height: auto;
  z-index: 1;
}

.andamento {
  flex: 1 1 10%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 9/16;
}

.andamento img {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center;
}

.acompanhe .wp-block-embed__wrapper {
  max-width: 300px;
  max-height: 535px;
  margin: 0 auto;
}

.acompanhe .wp-block-embed__wrapper iframe {
  border-radius: var(--radius);
}

@media (max-width: 767px) {
  .acompanhe .wp-block-embed__wrapper {
    max-width: 100% !important;
    max-height: 100% !important;
  }
}

/* Tipografia simples */

/* Botões */
.cred-actions {
  display: flex;
  gap: var(--gap);
  flex-wrap: wrap;
  margin-top: 1.2rem;
}

/* Atendimento */

.atendimento {
  gap: var(--gap);
  min-height: 80vh;
  padding: 0 var(--gap);
}

.atendimento a:not(.btn a) {
  color: var(--color-azul-e);
}

.atendimento .bloco,
.central .bloco {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: var(--radius);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  container-type: inline-size;
  padding: 1.25rem;
}

.atendimento h2 {
  font-size: clamp(1.5rem, 3vw + 0.5rem, 2.369rem);
}

.atendimento h3 {
  font-size: clamp(1.25rem, 2vw + 0.5rem, 1.777rem);
}

@media (max-width: 1024px) {

  .atendimento h3 {
    font-size: clamp(1.25rem, 2vw + 0.5rem, 1.5rem);
  }

}

.central {
  gap: var(--gap);
  padding: 0 var(--gap);
  margin-top: var(--gap) !important;
  margin-bottom: var(--gap) !important;
}

.relacionamento {
  background-size: 35% !important;
}

/* Responsivo simples */
@media (max-width: 56rem) {
  .cred-simp {
    flex-direction: column;
    align-items: stretch;
  }

  .cred-media {
    order: -1;
  }

  /* mídia acima no mobile */
}

.blue-bg {
  background: var(--color-azul-d);
}

.blue-bg .cred-txt {
  color: var(--color-branco);
}

/* =============================================
   COMPONENTE: Footer
============================================== */
footer {
  width: 100%;
  background-color: var(--wp--preset--color--cinza-4);
  margin-top: 0;
}

.footer {
  max-width: var(--section-max-w);
  padding-block: 1rem;
  margin: 0 auto;
}

.footer-bottom {
  display: grid;
  grid-template-columns: 1fr;
  margin: 0 0 1rem;
}

.footer-top {
  display: grid;
  grid-template-columns: 4fr 2fr 2fr 2fr 2fr;
  gap: 1rem;
  margin: 3rem 0;
  font-size: 1rem !important;
}

ul.menu-footer {
  margin-left: 0;
  padding-left: 0;
}

.menu-footer li a {
  text-decoration: none;
  color: var(--color-preto);
  font-size: 1rem !important;
}

.menu-footer li a:hover {
  text-decoration: underline;
}

.footer-social p {
  margin-top: 2rem;
  font-size: 1.25rem;
  line-height: 1;
}

.footer-social ul {
  display: flex;
  margin-left: 0;
}

.footer-social li a img {
  filter: grayscale(100%) brightness(0%);
  transition: filter .5s !important;
}

.footer-social li a img:hover {
  filter: grayscale(0%) brightness(100%);
}

.footer-social li {
  list-style: none;
  margin: 5px;
}

.footer-social li:nth-child(n + 2) {
  margin-left: 19px;
}



/* =============================================
   RESPONSIVO — DESKTOP LARGE (≥ 1440px)
============================================== */
@media (min-width: 1440px) {
  .logo {
    width: 158px;
    height: 56px;
  }

  .page {
    grid-template-rows: minmax(auto, var(--hh)) 1fr auto;
  }

  .site-header {
    /* height: var(--hh); */
    padding: 2rem;
  }

  .hero-1,
  .hero-1_2,
  .hero-1_3,
  .hero-1_3a {
    aspect-ratio: auto;
  }
}

/* =============================================
   RESPONSIVO — TABLET (768–1023px)
============================================== */
@media (max-width: 1023px) and (min-width: 768px) {
  .site-header {
    height: var(--hh);
  }

  .page {
    grid-template-rows: minmax(auto, var(--hh)) 1fr auto;
  }

  .hero-1,
  .hero-1_2,
  .hero-1_3,
  .hero-1_3a {
    grid-template-areas: "main main main"
      "side1 side2 side3";
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto 1fr;
    align-items: stretch;
  }

  .principal {
    aspect-ratio: 2 / 1;
  }

  .content p {
    max-width: 100%;
    font-size: 1.125rem;
  }

  .side1,
  .side2,
  .side3 {
    display: flex;
    flex-direction: column;
    justify-content: end;
    min-height: 150px;
  }

  .block.reclame .fix {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center !important;
  }

  .block.reclame a {
    font-size: 1.35rem;
  }

}

/* =============================================
   RESPONSIVO — MOBILE (≤ 767px)
   - nav + CTA viram menu suspenso
============================================== */
@media (max-width: 767px) {
  :root {
    --radius: var(--radius-sm);
  }

  .page {
    /* já existe padding: var(--gap); mantemos */
    grid-template-rows: 1fr auto;
    /* sem a linha "header" */
    grid-template-areas: "content"
      "footer";
  }

  /* Estado escondido ao rolar para baixo */
  .site-header.is-hidden {
    transform: translateY(calc(-120% - var(--gap)));
  }

  /*.logo { width: 111px; height: 40px; }*/

  /* Quando o header estiver visível, empurra o conteúdo para baixo */
  body.header-shown .page {
    padding-top: calc(var(--hh) + var(--gap));
  }

  main {
    margin-top: var(--hh);
  }

  .hero {
    height: auto;
  }

  .hero>div {
    height: auto;
  }

  /* HERO + content */
  .hero-1 {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-template-areas: "main";
  }

  /* HERO + content */
  .hero-1_2 {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-template-areas: "main"
      "side1"
      "side2"
      "side3";
  }

  .hero-1_3, .hero-1_3a {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-template-areas: "main"
      "side1";
    min-height: auto;
  }

  .hero-1_4 {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-template-areas: "main"
      "side1"
      "side2"
      "side3";
  }

  .hero-3 {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-template-areas: "main"
      "side1"
      "side2";
  }

  .hero-3_4 {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-template-areas: "main"
      "side1"
      "side2"
      "side3";
  }

  .hero-4 {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-template-areas: "main"
      "side1"
      "side2"
      "side3"
      "side4";
  }

  .hero-5 {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr 1fr .5fr 1.5fr;
    grid-template-areas: "main"
      "side1"
      "side2"
      "side3"
      "sidebar";
  }

  .hero-5o {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr 1.5fr;
    grid-template-areas: "main"
      "side1"
      "side2"
      "side3"
      "sidebaro";
  }

  .sidebar {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: .75fr 1fr .25fr;
    grid-template-areas: "side4"
      "side5"
      "side6";
  }


  .principal {
    aspect-ratio: 1 / 1;
  }

  .side1,
  .side2,
  .hero-1_4 .side3,
  .hero-3_4 .side3 {
    aspect-ratio: 1 / 1;
  }

  .hero-1_2 .side3 {
    min-height: 100px;
    max-height: 200px;
  }

  .block.reclame .fix {
    width: 100%;
  }

  .block.reclame>* {
    text-align: center !important;
    margin: 0 auto !important;
  }

  .hero-1_3 .side1 {
    aspect-ratio: unset;
  }
  .hero-1_3 .side1 .lateral {
      position: relative;
  }

  .hero-1_3 .side1 img {
    max-width: calc(100% - 2.5rem);
  }

  .hero-4 .side2 {
    aspect-ratio: auto;
  }

  .headline-box {
    left: 0;
    right: auto;
  }

  .hero .wp-block-cover-image.is-position-bottom-right,
  .hero .wp-block-cover.is-position-bottom-right {
    justify-content: center;
  }

  footer {
    padding: 1rem 1rem 7rem;
  }

  .footer {
    padding-block: 0;
  }

  .footer-top {
    grid-template-columns: 1fr;
    place-items: center;
  }

  .footer-top>div {
    align-items: center;
    margin: 0 auto !important;
  }

  .footer-column {
    margin: 0 auto;
    text-align: center;
    font-size: 1.25rem;
  }

  .footer-column img {
    margin: 0 auto;
  }

  .footer-column p {
    padding-top: 2rem;
  }

  ul.menu-footer {
    align-items: center;
    margin: 0 auto;
  }

  .footer-social ul {
    justify-content: center;
  }

  .footer-bottom {
    text-align: center;
  }

  /* Component Compare Swiper */
  .compare-swiper-wrapper {
    text-align: center;
    padding-right: 0;
    padding-left: 0;
    left: 1.5rem;
  }

}

/* Componentes */
.cpt__header {
  margin-block: clamp(1rem, 3vw, 2rem);
}

.cpt__header h2 {
  margin: 0;
  max-width: 25ch;
}

.cpt__header p {
  margin: .4rem 0 0;
  color: var(--color-cinza-2);
  font-size: clamp(.95rem, 2.2vw, 1.125rem);
  max-width: 48ch;
}

.section-content {
  max-width: var(--section-max-w);
  margin-inline: auto;
  padding: 4rem 0;
}

/* News */
.white-bg {
  background: var(--color-branco);
}

.grey-bg {
  background: var(--color-cinza-4);
}

.sales-bg {
  background: var(--color-vendas-3);
}

.wp-block-image :where(figcaption) {
    font-size: var(--wp--preset--font-size--small);
    color: var(--color-cinza-2);
}

:root :where(.wp-block-pullquote) {
    border-left-color: var(--wp--preset--color--azul-a);
    border-left-width: 15px;
    border-left-style: solid;
    border-top: 0;
    padding: 1rem 2rem 1rem;
    background: var(--wp--preset--color--branco);
    margin: 2rem;
    text-align: left;
    font-size: 1.25rem;
}

/* blocos conteúdo - Duas colunas / Uma coluna */

.bloco__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  /* duas colunas */
  gap: calc(var(--gap)*5);
  margin-top: 1.5rem;
  align-items: start;
  /* alinhamento pelo topo */
}

/* Aparência básica das colunas (opcional) */
.bloco__col h3 {
  color: var(--color-cinza-1);
  font-weight: 500;
}

.bloco__content {
  margin: 2rem 0 0;
}

.img-texto {
  margin: 0 auto;
}


/* Responsivo: empilha em telas pequenas */
@media (width < 767px) {
  .bloco__cols {
    grid-template-columns: 1fr;
    /* vira uma coluna */
    gap: 0;
  }

  .section-content {
    padding-inline: calc(var(--gap)*2);
    padding-block: 3rem;
  }

  .section-content.noticias {
    padding-top: 2rem;
  }

  .imoveis-head {
    margin-block: 3rem;
    padding: 0 calc(var(--gap)*2);
  }

  .multimedia-section .bloco__col {
    margin-top: 2.5rem;
  }

  .multimedia-section .bloco__col:first-child {
    margin-top: 1rem;
  }

  .multimedia-section .bloco__content,
  .galeria-container {
    margin: 1rem 0 0 !important;
  }

}

/* bloco conceito */
.c-conceito__eyebrow {
  font-size: clamp(.75rem, .5vw + .6rem, .95rem);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.c-conceito {
  position: relative;
  z-index: 0;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 60vh;
  padding-inline: 1.5rem;
  isolation: isolate;
}

.c-conceito::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, .82) 0%, rgba(0, 0, 0, .66) 38%, rgba(0, 0, 0, .28) 62%, rgba(0, 0, 0, 0) 100%);
  z-index: 0;
}

/* GLightBox CSS */
/* tema.css */
.glb-video-thumb img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
  object-position: center;
  border-radius: var(--radius, .375rem)
}

/* evita header sobrepor o lightbox */
.glightbox-container {
  z-index: 999999
}

/*
.gslide-description.description-bottom {
  display: none !important;
}
*/

.glightbox-clean .gslide-description {
  background: transparent !important;
}

.glightbox-clean .gslide-title {
  color: var(--color-branco) !important;
  font-size: 1.25rem !important;
  font-family: inherit !important;
  text-align: center !important;
  margin: 0 !important
}

/* mantém espaço para o botão Close, sem “colar” nas bordas */
.glightbox-container .gcontainer,
.gslide-inline .ginlined-content {
  padding: 0px !important;
  overflow: hidden !important;
}

/* remove padding interno do slide/conteúdo */
.glightbox-container .gslide,
.glightbox-container .ginner-container,
.glightbox-container .gslide-media {
  padding: 0 !important;
  margin: 0 !important;
  justify-content: center !important;
  align-items: center !important;
}

/* bloco inline ocupa largura máx. do modal, sem scroll do lightbox */
.glightbox-container .gslide-inline .gslide-media {
  width: auto !important;
  height: auto !important;
}

/* wrapper do iframe com proporção e limites (comportamento igual ao vídeo) */
.glb-embed {
  width: min(1200px, 92vw);
  /* largura “cheia” dentro da página */
  max-height: 85vh;
  /* deixa espaço p/ Close */
  aspect-ratio: 16 / 9;
  /* ajuste se quiser 3/2, 4/3 etc. */
  overflow: hidden;
  /* sem barras no container */
  border-radius: .375rem;
  /* opcional */
}

.glightbox-inline img {
  border-radius: .375rem;
  width: 100%;
}

/* iframe ocupa 100% do wrapper, sem borda, sem scroll */
.glb-embed>iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Ajuste apenas em telas onde você quer 3 colunas */
@media (min-width: 768px) {
  .wp-block-gallery.is-layout-flex>figure {
    min-width: 0;
    /* impede expansão inesperada */
  }
}

.galeria-imovel {
  margin: 2rem 0 0 !important;
}

/* Limitar a galeria */
.wp-block-gallery.galeria-imovel,
.acompanhe .wp-block-gallery {
  position: relative;
}

.wp-block-gallery.galeria-imovel>figure img,
.acompanhe .wp-block-gallery>figure img {
  border-radius: var(--radius);
  object-fit: cover;
}

.wp-block-gallery.galeria-imovel>figure:nth-child(n+5),
.acompanhe .wp-block-gallery>figure:nth-child(n+10) {
  display: none !important;
  aspect-ratio: 4/3;
  /* esconde do 5º ou 10 em diante */
}

/* Andamento da obra */
.lista-progressos {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.progress {
  width: 100%;
  border-radius: 5px;
  overflow: hidden;
}

.barra-progresso {
  height: 10px;
  background-color: var(--color-cinza-3);
  border-radius: 5px;
}

.info-progresso {
  display: flex;
  justify-content: space-between;
  font-size: 0.875rem;
  margin-bottom: 1rem;
}

.progress__value {
  height: 10px;
  background: var(--color-azul-a);
  width: 0;
  border-radius: 5px;
}

/* Botão Play Vídeo */
.play-button {
  position: absolute;
  inset: auto auto 8% 5%;
  background: rgba(255, 255, 255, .24);
  color: #fff;
  padding: .5rem .75rem;
  border-radius: .375rem;
  line-height: 1;
}

a.glightbox:hover .play-button,
a.glightbox-inline:hover .play-button,
a.glightbox-video:hover .play-button {
  animation: pulseScale .9s ease-in-out infinite;
}

@keyframes pulseScale {
  0% {
    transform: scale(1);
    background: rgba(255, 255, 255, .24);
  }

  50% {
    transform: scale(1.15);
    background: #2583a690;
  }

  100% {
    transform: scale(1);
    background: rgba(255, 255, 255, .24);
  }
}

/* Gostou do imóvel? */

.maxwidth_430 {
    max-width: 430px;
}

/* Extras -- Diferenciais */
details {
  margin-top: 1rem;
}

summary {
  font-size: clamp(1.5rem, 3vw + 0.5rem, 2.369rem);
  border-bottom: 2px solid var(--color-cinza-3);
}

.itens-extras {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2rem;
  margin: 2rem 0 4rem;
  padding: 0;
}

@media (width < 768px) {
  .itens-extras {
    grid-template-columns: 1fr;
  }
}

.itens-extras li {
  display: flex;
  max-width: 270px;
  column-gap: 1rem;
  gap: 1rem;
  align-items: start;
}

.wrap-lazer img {
  width: 50px;
  min-width: 50px;
}

.wrap-lazer {
  margin: 0;
  font-size: .85rem;
}

details[open] li {
  animation: animateDown 0.2s linear forwards;
}

@keyframes animateDown {
  0% {
    opacity: 0;
    transform: translatey(-15px);
  }

  100% {
    opacity: 1;
    transform: translatey(0);
  }
}

summary {
  list-style: none;
  display: flex;
  /* also removes the list marker */
}

summary::after {
  content: '';
  width: 18px;
  height: 10px;
  background: url('assets/imagens/icons/arrow.svg') no-repeat;
  background-size: cover;
  margin: .75em 0 0 .75em;
  transition: 0.2s;
}

details[open]>summary::after {
  transform: rotate(180deg);
}

/* Cards Equipe */
#cards {
  /* Make place at bottom, as items will slide to that position*/
  padding-bottom: calc(var(--numcards) * var(--card-top-offset));
  /* Don't include the --card-margin in padding, as that will affect the scroll-timeline*/
  margin-bottom: var(--card-margin);
  margin-left: 0;
}

#card_1 {
  --index: 1;
}

#card_2 {
  --index: 2;
}

#card_3 {
  --index: 3;
}

#card_4 {
  --index: 4;
}

@media (width > 767px) {

  .card {
    position: sticky;
    top: 0;
    padding-top: calc(var(--index) * var(--card-top-offset));
  }

  .card__content {
    transform-origin: 50% 0%;
    will-change: transform;
  }
}

/** DEBUG **/

#debug {
  position: fixed;
  top: 1em;
  left: 1em;
}

#debug::after {
  content: " Show Debug";
  margin-left: 1.5em;
  color: white;
  white-space: nowrap;
}

#debug:checked~main {
  --outline-width: 1px;
}


/** PAGE STYLING **/

/* Bloco Equipe */
#cards {
  list-style: none;
  outline: calc(var(--outline-width) * 10) solid hotpink;

  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(var(--numcards), var(--card-height));
  gap: var(--card-margin);
}

/*
.card {
  outline: var(--outline-width) solid lime;
}
*/
.card__content {
  box-shadow: 0 0.2em 1em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1);
  background: rgb(255, 255, 255);
  color: rgb(10, 5, 7);
  border-radius: 1em;
  overflow: hidden;

  display: grid;
  grid-template-areas: "text img";
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;

  align-items: stretch;
  outline: var(--outline-width) solid blue;
}

.card__content>div {
  grid-area: text;
  width: 80%;
  place-self: center;
  text-align: left;

  display: grid;
  gap: .5rem;
  place-items: start;
  padding: 2rem 0;
}

.card__content>figure {
  grid-area: img;
  overflow: hidden;
  margin: 0;
}

.card__content>figure>img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.card {
  --index0: calc(var(--index) - 1);
  /* 0-based index */
  --reverse-index: calc(var(--numcards) - var(--index0));
  /* reverse index */
  --reverse-index0: calc(var(--reverse-index) - 1);
  /* 0-based reverse index */
}

@media (width > 700px) {

  @keyframes scale {
    to {
      transform: scale(calc(1.1 - calc(0.1 * var(--reverse-index))));
    }
  }
}

#cards {
  --numcards: 4;
  view-timeline-name: --cards-element-scrolls-in-body;
}

.card__content {
  --start-range: calc(var(--index0) / var(--numcards) * 100%);
  --end-range: calc((var(--index)) / var(--numcards) * 100%);

  animation: linear scale forwards;
  animation-timeline: --cards-element-scrolls-in-body;
  animation-range: exit-crossing var(--start-range) exit-crossing var(--end-range);
}

.card__content h2,
.card__content h3 {
  margin: 0;
}

.card__content img {
    max-width: 100%;
}

@media (width < 768px) {
  .card__content h2 {
    font-size: 1.5rem;
  }

  .card__content h3 {
    font-size: 1rem;
  }

  .card__content {
    grid-template-columns: 1fr;
    grid-template-areas: "img" "text";
  }

  .card__content div {
    padding: 2rem 1.5rem;
    width: auto;
  }

  #cards {
    margin-top: 3rem;
    grid-template-rows: repeat(var(--numcards), auto);
    gap: 7vw;
    padding-bottom: 0;
  }

}

@media (width < 768px) {

  .atendimento,
  .fornecedor-relacionamento {
    grid-template-columns: 1fr;
  }

  .atendimento .bloco,
  .atendimento2.bloco {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

}

/* Formulários */
.wpcf7-select,
.wpcf7-text,
.wpcf7-textarea,
.wpcf7 input[type="file"],
.wpcf7-submit {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: .95rem;
  font-family: system-ui;
  line-height: 1.5;
  color: var(--color-preto);
  background-color: var(--color-branco);
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: .5rem !important;
  /*
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  */
  border-radius: 0.375rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.wpcf7-form-control {
  margin-top: 1rem;
}

@media (min-width: 768px) {
  .territorio {
    display: flex;
    gap: 1rem;
  }
}

.wpcf7-form-control:focus {
  color: var(--color-preto);
  background-color: var(--color-branco);
  border-color: var(--color-azul-e);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(76, 157, 184, 0.25);
}

.wpcf7-submit {
  max-width: 60%;
  margin: 1rem auto 0;
  color: var(--color-branco);
  background-color: var(--color-azul-e);
  padding: .5rem 1rem;
  font-weight: 700;
  cursor: pointer;
}

.wpcf7 .wpcf7-submit:disabled {
  background-color: var(--color-cinza-3);
  color: var(--color-cinza-2);
}

.wpcf7 form .wpcf7-response-output {
  margin: 1em 0em 1.5em;
  padding: 0.5em 1em;
  text-align: center;
  font-weight: 700;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #000;
    background: var(--color-azul-b);
    font-size: var(--wp--preset--font-size--regular);
}
