/*
Theme Name: Pablo Rassi
Theme URI: https://pablorassi.com.br
Author: João Pedro de Brito Tomé
Description: Tema personalizado para Dr. Pablo Rassi — Cirurgião Plástico em Goiânia e São Paulo. Landing one-page + páginas internas, integração própria com a API do Instagram, formulário 100% WhatsApp, Schema.org, GA4/GTM opcionais.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pablo-rassi
Tags: custom-theme, one-page, medical
*/

/* ===== RESET & BASE ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: #F7F3EE;
  color: #2b2724;
  font-family: 'Mulish', sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { text-decoration: none; color: inherit; }
img, video { display: block; max-width: 100%; }

/* ===== LINKS COM SUBLINHADO ANIMADO ===== */
.pr-link { position: relative; }
.pr-link::after {
  content: '';
  position: absolute;
  left: 0; bottom: -5px;
  height: 1px; width: 0;
  background: #A66F3F;
  transition: width .3s ease;
}
.pr-link:hover::after { width: 100%; }

/* ===== CARDS PROCEDIMENTOS ===== */
.pr-proc:hover .pr-proc-img { transform: scale(1.04); }
.pr-proc:hover .pr-proc-arrow { transform: translateX(5px); color: #A66F3F; }

/* ===== GRID INSTAGRAM ===== */
.pr-ig:hover .pr-ig-ov { opacity: 1; }

/* ===== ANIMAÇÕES ===== */
@keyframes prfloat {
  0%   { transform: translateY(8px); opacity: 0; }
  100% { transform: translateY(0);   opacity: 1; }
}
@keyframes prbob {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(7px); }
}

/* ===== HEADER SCROLLED ===== */
header[data-pr-head] { transition: background .35s ease, border-color .35s ease; }
header[data-pr-head] .pr-navlink  { color: #fff !important; }
header[data-pr-head] .pr-logo     { color: #fff !important; }
header[data-pr-head] .pr-tag      { color: #E6C79A !important; }
header[data-pr-head] .pr-burger span { background: #fff !important; }

header[data-pr-head][data-scrolled="1"] {
  background: rgba(247,243,238,0.95) !important;
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(166,111,63,0.16) !important;
}
header[data-pr-head][data-scrolled="1"] .pr-navlink { color: #4a443f !important; }
header[data-pr-head][data-scrolled="1"] .pr-logo    { color: #2b2724 !important; }
header[data-pr-head][data-scrolled="1"] .pr-tag     { color: #A66F3F !important; }
header[data-pr-head][data-scrolled="1"] .pr-burger span { background: #2b2724 !important; }

/* ===== DROPDOWN ===== */
.pr-dropdown {
  opacity: 0; visibility: hidden;
  transform: translateY(-6px);
  transition: all .25s ease;
}
.pr-hasdrop:hover .pr-dropdown,
.pr-dropdown:hover {
  opacity: 1; visibility: visible;
  transform: translateY(0);
}
.pr-hasdrop[data-open="1"] .pr-dropdown {
  opacity: 1; visibility: visible;
  transform: translateY(0);
}

/* ===== MOBILE MENU ===== */
#pr-mobile-menu { display: none; }
#pr-mobile-menu.open { display: block; }

/* ===== ÂNCORAS COM OFFSET DO HEADER ===== */
section[id] { scroll-margin-top: 92px; }

/* ===== REDUCED MOTION ===== */
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; scroll-behavior: auto !important; }
}

/* ===== BREAKPOINT 1024px ===== */
@media (max-width: 1024px) {
  [data-pr-sobre],
  [data-pr-contato]   { grid-template-columns: 1fr !important; }
  [data-pr-grid]      { grid-template-columns: 1fr 1fr !important; }
  [data-pr-tech]      { grid-template-columns: 1fr 1fr !important; }
  .pr-media-grid      { grid-template-columns: repeat(2,1fr) !important; }
  [data-pr-iggrid]    { grid-template-columns: repeat(4,1fr) !important; }
  [data-pr-foot]      { grid-template-columns: 1fr 1fr !important; }
  [data-pr-quoteimg],
  [data-pr-quotegrad] { display: none !important; }
  .pr-rev-card        { flex-basis: calc((100% - 22px) / 2) !important; }
}

/* ===== BREAKPOINT 720px ===== */
@media (max-width: 720px) {
  [data-pr-desktopnav] { display: none !important; }
  [data-pr-burger]     { display: flex !important; }
  [data-pr-grid]       { grid-template-columns: repeat(2,1fr) !important; gap: 10px !important; }
  [data-pr-tech]       { grid-template-columns: 1fr !important; }
  /* Procedimentos compactos no mobile (estilo "Pablo na mídia") */
  .pr-proc > div:first-child { height: 128px !important; }
  .pr-proc > div:first-child span { font-size: 8.5px !important; letter-spacing: 0.14em !important; padding: 5px 9px !important; }
  .pr-proc > div:last-child { padding: 14px 14px 16px !important; }
  .pr-proc h3 { font-size: 16px !important; }
  .pr-proc > div:last-child p { display: none !important; }
  .pr-proc-arrow { font-size: 10.5px !important; margin-top: 10px !important; }
  [data-pr-iggrid]     { grid-template-columns: repeat(3,1fr) !important; }
  [data-pr-foot]       { grid-template-columns: 1fr !important; gap: 36px !important; }
  [data-pr-badge]      { position: static !important; left: auto !important; bottom: auto !important; margin-top: 24px !important; padding: 22px 24px !important; }
  [data-pr-formrow]    { grid-template-columns: 1fr !important; }
  [data-pr-headinner]  { padding: 0 18px !important; height: 62px !important; }
  [data-pr-logo]       { font-size: 18px !important; letter-spacing: 0.2em !important; }
  [data-pr-tagline]    { font-size: 9px !important; letter-spacing: 0.32em !important; }
  [data-pr-herobody]   { padding-left: 22px !important; padding-right: 22px !important; padding-bottom: 76px !important; }
  [data-pr-contatocol] { padding-left: 22px !important; padding-right: 22px !important; }
  [data-pr-herocta]        { flex-direction: column !important; align-items: stretch !important; }
  [data-pr-herocta] a      { text-align: center; }
  .pr-media-grid   { grid-template-columns: repeat(2,1fr) !important; gap: 10px !important; }
  .pr-media-card   { padding: 16px 14px !important; gap: 8px !important; }
  .pr-media-kicker { font-size: 9px !important; letter-spacing: 0.12em !important; }
  .pr-media-title  { font-size: 12.5px !important; line-height: 1.45 !important; }
  .pr-rev-card     { flex-basis: 100% !important; padding: 24px 22px !important; }
  .pr-rev-track    { gap: 16px !important; align-items: flex-start !important; }
  .pr-rev-quote    { -webkit-line-clamp: 8 !important; line-clamp: 8 !important; }
  .pr-rev-nav      { gap: 16px !important; margin-top: 28px !important; }
  section[id]      { scroll-margin-top: 74px; }
  [data-pr-scrollhint] { display: none !important; }
}

/* ===== BREAKPOINT 380px ===== */
@media (max-width: 380px) {
  [data-pr-iggrid] { grid-template-columns: 1fr 1fr !important; }
  [data-pr-logo]   { font-size: 16px !important; }
}

/* ===== INSTAGRAM — IMAGENS REAIS ===== */
.pr-ig img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s ease;
}
.pr-ig:hover img { transform: scale(1.05); }

/* ===== PÁGINAS INTERNAS (procedimentos, currículo, unidades) ===== */
[data-pr-hlist]   { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
[data-pr-curgrid],
[data-pr-unidgrid] { grid-template-columns: 1fr 1fr; }

@media (max-width: 1024px) {
  [data-pr-hlist]    { grid-template-columns: 1fr !important; }
  [data-pr-curgrid],
  [data-pr-unidgrid] { grid-template-columns: 1fr !important; }
}
@media (max-width: 720px) {
  [data-pr-pad] { padding-left: 22px !important; padding-right: 22px !important; }
}

/* ===== SEÇÃO "PABLO NA MÍDIA" — CARDS EM DESTAQUE (home) ===== */
.pr-media-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.pr-media-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 26px 24px;
  background: #2f2f2f;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 2px;
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.pr-media-card:hover {
  background: #383838;
  border-color: rgba(217,165,102,0.4);
  transform: translateY(-3px);
}
.pr-media-kicker { font-family: 'Jost', sans-serif; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: #D9A566; }
.pr-media-title  { font-size: 15px; line-height: 1.5; color: rgba(255,255,255,0.9); font-weight: 300; }

/* ===== DEPOIMENTOS — carrossel de avaliações do Google (cards em linha) ===== */
.pr-rev { position: relative; margin: 0 auto; }
.pr-rev-viewport { overflow: hidden; transition: height .4s ease; }
.pr-rev-track { display: flex; gap: 22px; align-items: stretch; transition: transform .45s ease; will-change: transform; }
.pr-rev-card {
  flex: 0 0 calc((100% - 44px) / 3);
  display: flex; flex-direction: column; gap: 14px;
  background: #F7F3EE; border: 1px solid rgba(166,111,63,0.14); border-radius: 2px;
  padding: 28px 26px;
}
.pr-rev-stars { color: #D9A566; letter-spacing: 2px; font-size: 14px; }
.pr-rev-quote {
  margin: 0; font-size: 14.5px; line-height: 1.7; color: #4a443f; font-weight: 300;
  min-height: 6.8em;
  display: -webkit-box; -webkit-line-clamp: 7; line-clamp: 7; -webkit-box-orient: vertical; overflow: hidden;
}
.pr-rev-reply { margin-top: auto; padding: 14px 16px; background: #EBE1D5; border-left: 2px solid #A66F3F; border-radius: 2px; }
.pr-rev-reply b { display: block; font-family: 'Jost', sans-serif; font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: #A66F3F; margin-bottom: 6px; font-weight: 500; }
.pr-rev-reply p { margin: 0; font-size: 12.5px; line-height: 1.55; color: #6a625b; font-weight: 300; display: -webkit-box; -webkit-line-clamp: 4; line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.pr-rev-person { display: flex; align-items: center; gap: 12px; padding-top: 10px; margin: 14px 0 0; }
.pr-rev-ava {
  width: 44px; height: 44px; border-radius: 50%; object-fit: cover;
  background: #A66F3F; color: #fff; display: flex; align-items: center; justify-content: center;
  font-family: 'Jost', sans-serif; font-size: 17px; flex-shrink: 0;
}
.pr-rev-meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pr-rev-name { font-size: 14px; font-weight: 600; color: #2b2724; }
.pr-rev-sub { font-size: 11.5px; color: #9b9088; letter-spacing: 0.03em; }
.pr-rev-nav { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 36px; }
.pr-rev-arrow {
  width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid rgba(166,111,63,0.4); background: transparent; color: #A66F3F;
  font-size: 18px; cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: background .25s ease, color .25s ease;
}
.pr-rev-arrow:hover { background: #A66F3F; color: #fff; }
.pr-rev-arrow[disabled] { opacity: .35; cursor: default; }
.pr-rev-dots { display: flex; gap: 8px; }
.pr-rev-dot { width: 7px; height: 7px; border-radius: 50%; border: 0; background: rgba(43,39,36,0.22); cursor: pointer; padding: 0; transition: width .25s ease, background .25s ease; }
.pr-rev-dot.is-active { background: #A66F3F; width: 22px; border-radius: 4px; }
@media (prefers-reduced-motion: reduce) { .pr-rev-track { transition: none; } }

/* ===== PÁGINA "NA MÍDIA" (Clipping de Mídia) ===== */
.pr-clip-year {
  display: flex;
  align-items: baseline;
  gap: 18px;
  margin: 56px 0 22px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(166,111,63,0.22);
}
.pr-clip-year:first-child { margin-top: 0; }
.pr-clip-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.pr-clip {
  display: grid;
  grid-template-columns: 44px 1fr 26px;
  gap: 18px;
  align-items: start;
  padding: 20px 18px;
  border-radius: 2px;
  transition: background .25s ease;
}
.pr-clip:hover { background: #EBE1D5; }
.pr-clip-main {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.pr-clip-title {
  font-size: 16px;
  line-height: 1.5;
  color: #2b2724;
  font-weight: 400;
  transition: color .2s ease;
}
.pr-clip:hover .pr-clip-title { color: #A66F3F; }
.pr-clip-url {
  font-size: 12px;
  color: #9a9088;
  word-break: break-word;
  font-weight: 300;
}
.pr-clip-go {
  font-size: 16px;
  color: #c3b39f;
  padding-top: 2px;
  transition: transform .25s ease, color .25s ease;
}
.pr-clip:hover .pr-clip-go { color: #A66F3F; transform: translate(2px,-2px); }
@media (max-width: 720px) {
  .pr-clip { grid-template-columns: 32px 1fr; gap: 12px; padding: 18px 4px; }
  .pr-clip-go { display: none; }
}

/* ===== FAQ (accordion nativo <details>/<summary>) ===== */
.pr-faq { border-bottom: 1px solid rgba(166,111,63,0.22); }
.pr-faq summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 0;
  font-family: 'Jost', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #2b2724;
}
.pr-faq summary::-webkit-details-marker { display: none; }
.pr-faq summary::after {
  content: '+';
  font-size: 18px;
  color: #A66F3F;
  flex-shrink: 0;
}
.pr-faq[open] summary::after { content: '–'; }
.pr-faq p {
  padding: 0 0 22px;
  font-size: 15px;
  line-height: 1.75;
  color: #6a625b;
  font-weight: 300;
  max-width: 740px;
}
