/* btre/static/css/redesign/components.css */

/* Buttons */
.tq-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--tq-font-sans);
  font-weight:700;font-size:15px;line-height:1;padding:14px 22px;border:none;border-radius:var(--tq-radius-md);
  cursor:pointer;text-decoration:none;transition:background .15s ease,color .15s ease,transform .15s ease;}
/* Texto navy — e não branco — sobre ouro e verde: mantém as cores da marca
   exatas e leva o contraste de 2,69:1 / 1,98:1 para 5,95:1 / 8,06:1 (WCAG AA). */
.tq-btn--gold{background:var(--tq-gold);color:var(--tq-navy);box-shadow:var(--tq-shadow-gold);}
.tq-btn--gold:hover{background:var(--tq-gold-hover);color:var(--tq-navy);}
.tq-btn--navy{background:var(--tq-navy);color:#fff;}
.tq-btn--ghost{background:#fff;color:var(--tq-navy);border:1.5px solid var(--tq-navy);}
.tq-btn--ghost:hover{background:var(--tq-navy);color:#fff;}
.tq-btn--whatsapp{background:var(--tq-whatsapp);color:var(--tq-navy);}
.tq-btn--whatsapp:hover{background:var(--tq-whatsapp-hover);color:var(--tq-navy);}
.tq-btn--outline-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.35);}
.tq-btn--outline-light:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff;}
.tq-btn--block{width:100%;}

/* Tabs (CSS-only, radio driven) */
.tq-tabs__radio{position:absolute;width:1px;height:1px;opacity:0;}
.tq-tabs__nav{display:inline-flex;gap:4px;background:#EFEBE3;border-radius:var(--tq-radius-pill);padding:4px;margin-bottom:24px;}
.tq-tabs__nav label{margin:0;padding:9px 20px;border-radius:var(--tq-radius-pill);font-size:13.5px;font-weight:700;
  color:#8A7F70;cursor:pointer;transition:background .15s ease,color .15s ease;}
.tq-tabs__panel{display:none;}
#tq-tab-venda:checked ~ .tq-tabs__nav label[for="tq-tab-venda"],
#tq-tab-aluguel:checked ~ .tq-tabs__nav label[for="tq-tab-aluguel"]{background:var(--tq-navy);color:#fff;}
#tq-tab-venda:focus-visible ~ .tq-tabs__nav label[for="tq-tab-venda"],
#tq-tab-aluguel:focus-visible ~ .tq-tabs__nav label[for="tq-tab-aluguel"]{outline:2px solid var(--tq-gold);outline-offset:2px;}
#tq-tab-venda:checked ~ .tq-tabs__panels .tq-tabs__panel:nth-child(1),
#tq-tab-aluguel:checked ~ .tq-tabs__panels .tq-tabs__panel:nth-child(2){display:block;}

/* Quote (prova social) */
.tq-quote{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--tq-radius-lg);
  padding:28px;margin:0;display:flex;flex-direction:column;gap:20px;}
.tq-quote blockquote{margin:0;font-family:var(--tq-font-serif);font-size:17px;line-height:1.55;color:#EAF0F4;flex:1;}
.tq-quote blockquote::before{content:"“";display:block;font-family:var(--tq-font-serif);font-size:44px;line-height:.6;color:var(--tq-gold);margin-bottom:10px;}
.tq-quote figcaption{display:flex;align-items:center;gap:12px;}
.tq-quote figcaption img,.tq-quote__initial{width:42px;height:42px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.tq-quote__initial{display:flex;align-items:center;justify-content:center;background:rgba(194,151,74,.18);
  color:var(--tq-gold-light);font-family:var(--tq-font-serif);font-weight:700;font-size:18px;text-transform:uppercase;}
.tq-quote figcaption strong{display:block;font-size:14px;color:#fff;font-weight:700;}
.tq-quote figcaption small{display:block;font-size:12px;color:#8294A1;margin-top:2px;}

/* Video */
.tq-video{margin:0;}
.tq-video__frame{position:relative;padding-bottom:56.25%;height:0;border-radius:var(--tq-radius-lg);overflow:hidden;background:var(--tq-navy);box-shadow:var(--tq-shadow-card);}
.tq-video__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.tq-video figcaption{margin-top:12px;}
.tq-video figcaption a{display:block;font-family:var(--tq-font-serif);font-size:15.5px;font-weight:600;color:var(--tq-ink);text-decoration:none;}
.tq-video figcaption a:hover{color:var(--tq-gold);}
.tq-video figcaption small{font-size:12px;color:var(--tq-muted);}

/* Eyebrow + headings.
   O olho-de-boi tem 12px: em fundo claro precisa do ouro escuro (4,70:1) para
   passar no AA. Sobre navy o ouro da marca rende 5,95:1 e continua valendo. */
.tq-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tq-gold-on-light);}
.tq-hero .tq-eyebrow,
.tq-prog--navy .tq-eyebrow,
.tq-home__closing-card--gold .tq-eyebrow{color:var(--tq-gold);}
.tq-h2{font-family:var(--tq-font-serif);font-weight:600;font-size:26px;line-height:1.15;color:var(--tq-ink);margin:0;}
@media (min-width:1024px){.tq-h2{font-size:34px;}}

/* Card / badge / chip / placeholder */
.tq-card{background:var(--tq-card);border-radius:var(--tq-radius-lg);box-shadow:var(--tq-shadow-card);overflow:hidden;}
.tq-badge{display:inline-block;background:rgba(15,35,54,.82);color:#fff;font-size:11px;font-weight:700;
  padding:6px 12px;border-radius:var(--tq-radius-pill);white-space:nowrap;}
.tq-badge--sold{background:#9b2226;}
.tq-badge--reserved{background:#B07908;}
.tq-chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--tq-line);color:#3A4750;
  font-size:13px;font-weight:600;padding:9px 15px;border-radius:var(--tq-radius-pill);cursor:pointer;white-space:nowrap;text-decoration:none;}
.tq-chip--active{background:var(--tq-navy);color:#fff;border-color:var(--tq-navy);}
.tq-photo-ph{background:repeating-linear-gradient(135deg,#E8E2D6,#E8E2D6 12px,#EFEAE0 12px,#EFEAE0 24px);}

/* Listing card */
.tq-listing-card{display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease;}
.tq-listing-card__link{display:flex;flex-direction:column;flex:1;text-decoration:none;color:inherit;}
.tq-listing-card__media{position:relative;height:210px;background:#EFEAE0;}
.tq-listing-card__media img{width:100%;height:100%;object-fit:cover;display:block;}
.tq-listing-card__badges{position:absolute;top:14px;left:14px;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 28px);}
.tq-listing-card__since{position:absolute;top:14px;right:14px;background:rgba(255,255,255,.94);color:#5A6770;
  font-size:10.5px;font-weight:700;letter-spacing:.02em;padding:5px 10px;border-radius:var(--tq-radius-pill);}
.tq-listing-card__body{padding:20px;display:flex;flex-direction:column;flex:1;}
.tq-listing-card__title{font-family:var(--tq-font-serif);font-size:19px;font-weight:600;line-height:1.25;color:var(--tq-ink);min-height:48px;}
.tq-listing-card__loc{display:flex;align-items:center;gap:6px;margin:10px 0 14px;font-size:13px;color:var(--tq-muted);}
.tq-listing-card__specs{display:flex;flex-wrap:wrap;gap:6px 14px;list-style:none;margin:0 0 auto;padding:0;font-size:12.5px;color:#8A7F70;}
.tq-listing-card__specs strong{color:var(--tq-ink);font-weight:700;}
.tq-listing-card__foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:6px 12px;
  border-top:1px solid #EFEAE0;margin-top:16px;padding-top:16px;}
.tq-listing-card__price{font-family:var(--tq-font-serif);font-weight:700;font-size:20px;color:var(--tq-navy);min-width:0;}
.tq-listing-card__price span{font-size:12px;color:var(--tq-muted);font-family:var(--tq-font-sans);font-weight:600;}
/* Nome de corretor é texto livre: sem limite ele empurrava o card para fora. */
.tq-listing-card__broker{flex:1 1 auto;min-width:0;max-width:100%;font-size:11.5px;color:var(--tq-muted);
  text-align:right;line-height:1.3;overflow-wrap:anywhere;}
@media (min-width:1024px){.tq-listing-card:hover{transform:translateY(-5px);box-shadow:var(--tq-shadow-float);}}

/* Listing card actions (kept outside the card link so each stays clickable).
   Grade 2x2: rótulo visível em todos os CTAs, alvo de toque >= 42px. */
.tq-listing-card__actions{border-top:1px solid #EFEAE0;background:#FBF9F5;padding:14px;
  display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.tq-act{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 10px;
  border-radius:var(--tq-radius-sm);font-family:var(--tq-font-sans);font-size:12.5px;font-weight:700;
  text-decoration:none;text-align:center;line-height:1.15;
  background:#fff;border:1px solid var(--tq-line);color:var(--tq-navy);transition:background .15s ease,color .15s ease,border-color .15s ease;}
.tq-act svg{flex-shrink:0;}
.tq-act:hover{background:var(--tq-navy);border-color:var(--tq-navy);color:#fff;}
/* Visita e proposta têm o mesmo peso do WhatsApp — são as conversões que
   sustentam o funil; só "Compartilhar" fica em tom secundário. */
.tq-act--primary{background:var(--tq-gold);border-color:var(--tq-gold);color:var(--tq-navy);}
.tq-act--primary:hover{background:var(--tq-gold-hover);border-color:var(--tq-gold-hover);color:var(--tq-navy);}
.tq-act--proposta{background:var(--tq-navy);border-color:var(--tq-navy);color:#fff;}
.tq-act--proposta:hover{background:var(--tq-navy-soft);border-color:var(--tq-navy-soft);color:#fff;}
.tq-act--wa{background:var(--tq-whatsapp);border-color:var(--tq-whatsapp);color:var(--tq-navy);}
.tq-act--wa:hover{background:var(--tq-whatsapp-hover);border-color:var(--tq-whatsapp-hover);color:var(--tq-navy);}

/* Hero + brand geometry + stats */
.tq-hero{position:relative;overflow:hidden;background:var(--tq-navy);color:#fff;}
.tq-geo{position:absolute;border:1.5px solid rgba(194,151,74,.14);border-radius:50%;pointer-events:none;}
.tq-hero__pill{display:inline-flex;align-items:center;gap:8px;background:rgba(194,151,74,.16);
  border:1px solid rgba(194,151,74,.35);padding:7px 14px;border-radius:var(--tq-radius-pill);margin-bottom:18px;}
.tq-hero__pill span:first-child{width:6px;height:6px;border-radius:50%;background:var(--tq-gold);}
.tq-hero__pill span:last-child{font-size:12.5px;font-weight:600;color:var(--tq-gold-ink);}
.tq-hero__title{font-family:var(--tq-font-serif);font-weight:600;font-size:31px;line-height:1.16;letter-spacing:-.01em;color:#fff;margin:0;text-wrap:pretty;}
.tq-hero__title em{font-style:normal;color:var(--tq-gold-light);}
.tq-hero__sub{font-size:15px;line-height:1.55;color:#A8B7C2;margin:14px 0 0;max-width:440px;}
@media (min-width:1024px){.tq-hero__title{font-size:54px;line-height:1.1;}.tq-hero__sub{font-size:17px;}}
.tq-stats{display:flex;gap:24px;}
.tq-stat__num{font-family:var(--tq-font-serif);font-size:24px;font-weight:600;color:#fff;}
.tq-stat__lbl{font-size:12px;color:#8294A1;margin-top:2px;}
@media (min-width:1024px){.tq-stats{gap:36px;}.tq-stat__num{font-size:30px;}}

/* Search */
.tq-search{background:#fff;border-radius:var(--tq-radius-lg);box-shadow:var(--tq-shadow-float);padding:18px;}
.tq-search__toggle{display:flex;background:#EFEBE3;border-radius:var(--tq-radius-pill);padding:4px;margin-bottom:14px;position:relative;}
.tq-search__toggle input{position:absolute;opacity:0;pointer-events:none;}
/* #8A7F70 rendia 3,30:1 no trilho #EFEBE3 — a opção NÃO selecionada precisa ser
   lida com o mesmo esforço da selecionada. #6F6659 fecha em 4,75:1. */
.tq-search__toggle label{flex:1;text-align:center;padding:9px 14px;border-radius:var(--tq-radius-pill);
  font-family:var(--tq-font-sans);font-weight:700;font-size:14px;cursor:pointer;background:transparent;color:#6F6659;margin:0;}
.tq-search__toggle input:focus+label{outline:2px solid var(--tq-gold);outline-offset:2px;}
.tq-search__toggle input:checked+label{background:#fff;color:var(--tq-navy);box-shadow:0 1px 4px rgba(15,35,54,.14);}
.tq-search__field{display:flex;align-items:center;gap:10px;border:1px solid var(--tq-line);border-radius:var(--tq-radius-md);padding:13px 14px;margin-bottom:10px;}
.tq-search__field input,.tq-search__field select{border:none;outline:none;background:transparent;flex:1;min-width:0;
  font-family:var(--tq-font-sans);font-size:14.5px;color:var(--tq-ink);appearance:none;-webkit-appearance:none;}
.tq-search__field:focus-within{border-color:var(--tq-gold);}
@media (min-width:1024px){
  .tq-search{display:flex;align-items:center;gap:0;padding:14px;}
  .tq-search__toggle{margin-bottom:0;flex-shrink:0;margin-right:14px;}
  .tq-search__toggle input:checked+label{background:var(--tq-navy);color:#fff;box-shadow:none;}
  .tq-search__field{flex:0 1 auto;margin-bottom:0;border:none;border-left:1px solid #EAE4D7;border-radius:0;}
  .tq-search__field--grow{flex:1 1 auto;}
  .tq-search__field:focus-within{border-color:#EAE4D7;}
  .tq-home__search-btn{margin-left:14px;flex-shrink:0;}
}

/* Feature card */
.tq-feature{background:#fff;border-radius:var(--tq-radius-lg);padding:30px;}
.tq-feature__icon{width:52px;height:52px;border-radius:14px;background:#F4ECDB;display:flex;align-items:center;justify-content:center;color:var(--tq-gold);font-family:var(--tq-font-serif);font-weight:700;font-size:22px;}
.tq-feature__title{font-family:var(--tq-font-serif);font-weight:600;font-size:20px;color:var(--tq-ink);margin:18px 0 8px;}
.tq-feature__text{font-size:14px;color:var(--tq-body);line-height:1.6;}
