/* =====================================================================
   REALEZA PETS — DESIGN TOKENS
   Estética: realeza / heráldica — AZUL REAL + DOURADO. Refinado, não caricato.
   Texturas: veludo, damask (papel de parede), ornamentos sutis. Sem emojis.
   ===================================================================== */
:root {
  /* ---- Azul real (primária) ---- */
  --rp-blue-950: #0a1428;
  --rp-blue-900: #0f1d3d;   /* fundo profundo / veludo */
  --rp-blue-800: #15284f;
  --rp-blue-700: #1d3666;   /* marca primária */
  --rp-blue-600: #2a4a86;
  --rp-blue-500: #3a5fa3;

  /* ---- Dourado (destaque / heráldica) ---- */
  --rp-gold-700: #9a7b2e;
  --rp-gold-600: #bd9a3c;
  --rp-gold-500: #d4af37;   /* ouro de marca */
  --rp-gold-400: #e4c766;
  --rp-gold-300: #f0dca0;

  /* ---- Neutros quentes (pergaminho/marfim) ---- */
  --rp-ivory-50:  #f7f3ea;
  --rp-ivory-100: #efe7d6;
  --rp-ivory-200: #e2d5bb;
  --rp-ink-900:   #14181f;
  --rp-ink-700:   #39414f;
  --rp-ink-500:   #6b7382;
  --rp-white: #ffffff;

  /* ---- Papéis semânticos ---- */
  --rp-bg:           var(--rp-ivory-50);
  --rp-bg-elevated:  var(--rp-white);
  --rp-bg-royal:     var(--rp-blue-900);
  --rp-text:         var(--rp-ink-900);
  --rp-text-muted:   var(--rp-ink-500);
  --rp-text-on-royal: var(--rp-ivory-50);
  --rp-primary:      var(--rp-blue-700);
  --rp-accent:       var(--rp-gold-500);
  --rp-border:       var(--rp-ivory-200);
  --rp-hairline-gold: rgba(212, 175, 55, 0.35);

  /* ---- Tipografia ---- */
  --rp-font-display: "Cinzel", Georgia, serif;             /* capitulares heráldicas */
  --rp-font-serif:   "Cormorant Garamond", Georgia, serif; /* leitura elegante / leads */
  --rp-font-body:    "Inter", system-ui, sans-serif;       /* UI / corpo */

  --rp-fs-xs: .78rem; --rp-fs-sm: .9rem; --rp-fs-base: 1rem;
  --rp-fs-lg: 1.25rem; --rp-fs-xl: 1.6rem; --rp-fs-2xl: 2.1rem;
  /* Tipografia fluida: máximos = valores desktop atuais (não degradam o desktop);
     escalam para baixo no mobile para evitar palavras longas estourando a viewport. */
  --rp-fs-3xl: clamp(1.9rem, 5vw, 3rem); --rp-fs-4xl: clamp(2.25rem, 6vw, 4rem);

  /* ---- Espaçamento (base 4px) ---- */
  --rp-space-1:.25rem; --rp-space-2:.5rem; --rp-space-3:.75rem; --rp-space-4:1rem;
  --rp-space-6:1.5rem; --rp-space-8:2rem; --rp-space-12:3rem; --rp-space-16:4rem;
  --rp-space-24:6rem;

  --rp-radius-sm: 4px; --rp-radius-md: 8px; --rp-radius-lg: 14px; --rp-radius-pill: 999px;
  --rp-shadow-sm: 0 1px 3px rgba(10,20,40,.1);
  --rp-shadow-md: 0 10px 30px rgba(10,20,40,.16);
  --rp-shadow-lg: 0 24px 60px rgba(10,20,40,.26);

  --rp-container: 1200px;
  --rp-gutter: clamp(1rem, 4vw, 3rem);
  --rp-transition: 200ms ease;

  /* ---- TEXTURAS ---- */
  /* Damask / papel de parede: padrão vetorial sutil em dourado sobre azul. */
  --rp-damask:
    radial-gradient(circle at 50% 0,   rgba(212,175,55,.07) 0 2px, transparent 3px),
    radial-gradient(circle at 0 50%,   rgba(212,175,55,.05) 0 2px, transparent 3px),
    radial-gradient(circle at 100% 50%,rgba(212,175,55,.05) 0 2px, transparent 3px),
    radial-gradient(circle at 50% 100%,rgba(212,175,55,.07) 0 2px, transparent 3px);
  --rp-damask-size: 48px 48px;
  /* Veludo: gradiente radial suave que dá profundidade de tecido. */
  --rp-velvet:
    radial-gradient(130% 90% at 50% -10%, rgba(58,95,163,.55), transparent 60%),
    radial-gradient(100% 120% at 100% 100%, rgba(10,20,40,.6), transparent 55%),
    linear-gradient(180deg, var(--rp-blue-900), var(--rp-blue-950));
  /* Fio de fibras do veludo (grão sutil). */
  --rp-velvet-grain:
    repeating-linear-gradient(90deg, rgba(255,255,255,.015) 0 1px, transparent 1px 3px);
}

/* =====================================================================  RESET / BASE  */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:clip;font-family:var(--rp-font-body);font-size:var(--rp-fs-base);line-height:1.6;
  color:var(--rp-text);background:var(--rp-bg);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;line-height:1.12;color:var(--rp-ink-900);font-weight:600;
  overflow-wrap:break-word}
h1,h2{font-family:var(--rp-font-display);letter-spacing:.01em}
h3,h4{font-family:var(--rp-font-serif);font-weight:600}
p{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}

.rp-container{max-width:var(--rp-container);margin-inline:auto;padding-inline:var(--rp-gutter)}
.rp-section{padding-block:var(--rp-space-24)}
.rp-eyebrow{font-family:var(--rp-font-body);font-size:var(--rp-fs-xs);font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--rp-gold-700);
  display:inline-flex;align-items:center;gap:.6rem}
.rp-eyebrow::before,.rp-eyebrow::after{content:"";width:28px;height:1px;background:var(--rp-hairline-gold)}
.rp-eyebrow--solo::after{display:none}

/* Divisor ornamental (losango central + fios) */
.rp-ornament{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:var(--rp-space-4) 0}
.rp-ornament::before,.rp-ornament::after{content:"";height:1px;width:70px;background:var(--rp-hairline-gold)}
.rp-ornament svg{color:var(--rp-gold-500)}

/* Ícone (SVG line) base */
.rp-ico{width:1em;height:1em;display:inline-block;vertical-align:-.125em;fill:none;
  stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* =====================================================================  BOTÃO  */
/* Botões modernos: pill, sem gradiente pesado, transição suave de elevação */
.rp-btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--rp-font-body);
  font-weight:500;font-size:var(--rp-fs-sm);letter-spacing:.01em;padding:.8rem 1.5rem;
  border-radius:var(--rp-radius-pill);border:1px solid transparent;cursor:pointer;line-height:1;
  transition:transform var(--rp-transition),background var(--rp-transition),box-shadow var(--rp-transition),border-color var(--rp-transition)}
.rp-btn .rp-ico{font-size:1.05rem}
.rp-btn:hover{transform:translateY(-1px)}
.rp-btn--primary{background:var(--rp-primary);color:var(--rp-ivory-50)}
.rp-btn--primary:hover{background:var(--rp-blue-600);box-shadow:0 6px 18px rgba(29,54,102,.3)}
.rp-btn--gold{background:var(--rp-accent);color:var(--rp-blue-950);font-weight:600}
.rp-btn--gold:hover{background:var(--rp-gold-400);box-shadow:0 6px 18px rgba(212,175,55,.35)}
.rp-btn--outline-gold{background:transparent;color:var(--rp-gold-500);border-color:var(--rp-hairline-gold)}
.rp-btn--outline-gold:hover{border-color:var(--rp-gold-500);color:var(--rp-gold-300)}
.rp-btn--ghost{background:transparent;color:var(--rp-primary);border-color:var(--rp-border)}
.rp-btn--ghost:hover{border-color:var(--rp-primary);background:rgba(29,54,102,.04)}

/* =====================================================================  HEADER  */
.rp-header{position:sticky;top:0;z-index:50;background:rgba(247,243,234,.9);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--rp-border)}
.rp-header__inner{display:flex;align-items:center;justify-content:space-between;height:76px}
.rp-logo{display:flex;align-items:center;gap:.75rem;font-family:var(--rp-font-display);
  font-size:1.35rem;font-weight:700;letter-spacing:.08em;color:var(--rp-blue-800)}
/* Logo em imagem: altura fixa (~44px no header de 76px), largura automática. */
.rp-logo__img{height:44px;width:auto;display:block}
@media(max-width:560px){.rp-logo__img{height:38px}}
.rp-logo__crest{width:40px;height:40px;display:grid;place-items:center;color:var(--rp-gold-500);
  background:var(--rp-blue-800);border-radius:var(--rp-radius-sm);
  border:1px solid var(--rp-hairline-gold)}
.rp-nav{display:flex;gap:var(--rp-space-6);align-items:center}
.rp-nav__links{display:flex;gap:var(--rp-space-6);list-style:none;margin:0;padding:0}
.rp-nav__item{position:relative}
.rp-nav__top{display:inline-flex;align-items:center;gap:.3rem;font-size:var(--rp-fs-sm);font-weight:500;
  color:var(--rp-ink-700);transition:color var(--rp-transition);padding-block:var(--rp-space-3)}
.rp-nav__top:hover{color:var(--rp-primary)}
.rp-nav__caret{font-size:.9rem;transition:transform var(--rp-transition)}
.rp-has-drop:hover .rp-nav__caret,.rp-has-drop:focus-within .rp-nav__caret{transform:rotate(180deg)}
/* Dropdown desktop: aparece em hover/focus-within do item */
.rp-dropdown{position:absolute;top:100%;left:0;min-width:200px;list-style:none;margin:0;padding:var(--rp-space-2);
  background:var(--rp-white);border:1px solid var(--rp-border);border-top:2px solid var(--rp-gold-500);
  border-radius:0 0 var(--rp-radius-md) var(--rp-radius-md);box-shadow:var(--rp-shadow-md);
  opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity var(--rp-transition),transform var(--rp-transition),visibility var(--rp-transition);z-index:40}
.rp-has-drop:hover .rp-dropdown,.rp-has-drop:focus-within .rp-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.rp-dropdown a{display:block;padding:var(--rp-space-2) var(--rp-space-3);border-radius:var(--rp-radius-sm);
  font-size:var(--rp-fs-sm);font-weight:500;color:var(--rp-ink-700);transition:background var(--rp-transition),color var(--rp-transition)}
.rp-dropdown a:hover{background:var(--rp-ivory-100);color:var(--rp-primary)}
@media(max-width:900px){.rp-nav__links{display:none}}
/* Menu mobile (hambúrguer + drawer) — some acima de 900px, idêntico ao desktop atual */
.rp-navbtn{display:none;width:44px;height:44px;place-items:center;border:1px solid var(--rp-border);
  border-radius:var(--rp-radius-sm);background:transparent;color:var(--rp-blue-800);cursor:pointer;
  transition:border-color var(--rp-transition),color var(--rp-transition)}
.rp-navbtn:hover{border-color:var(--rp-primary);color:var(--rp-primary)}
.rp-navbtn .rp-ico{font-size:1.4rem}
.rp-mobile-nav{display:none;position:fixed;inset:0;z-index:60}
.rp-mobile-nav.is-open{display:block}
.rp-mobile-nav__overlay{position:absolute;inset:0;background:rgba(10,20,40,.5);backdrop-filter:blur(2px)}
.rp-mobile-nav__panel{position:absolute;top:0;right:0;height:100%;width:min(84vw,340px);
  background:var(--rp-bg,#f7f3ea);border-left:1px solid var(--rp-border);box-shadow:var(--rp-shadow-lg);
  padding:var(--rp-space-6);display:flex;flex-direction:column;gap:var(--rp-space-4);
  transform:translateX(100%);transition:transform .28s ease}
.rp-mobile-nav.is-open .rp-mobile-nav__panel{transform:translateX(0)}
.rp-mobile-nav__close{align-self:flex-end;width:44px;height:44px;display:grid;place-items:center;
  border:1px solid var(--rp-border);border-radius:var(--rp-radius-sm);background:transparent;
  color:var(--rp-blue-800);cursor:pointer}
.rp-mobile-nav__close .rp-ico{font-size:1.3rem}
.rp-mobile-nav__links{display:flex;flex-direction:column;margin-top:var(--rp-space-2)}
.rp-mobile-nav__links a{display:flex;align-items:center;min-height:44px;padding:var(--rp-space-2) var(--rp-space-1);
  font-family:var(--rp-font-display);font-size:var(--rp-fs-lg);letter-spacing:.03em;color:var(--rp-blue-800);
  border-bottom:1px solid var(--rp-border)}
.rp-mobile-nav__links a:hover{color:var(--rp-primary)}
.rp-mobile-nav__group{display:block;margin-top:var(--rp-space-4);padding-bottom:var(--rp-space-1);
  font-family:var(--rp-font-body);font-size:var(--rp-fs-xs);font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--rp-gold-700)}
.rp-mobile-nav__group:first-child{margin-top:0}
.rp-mobile-nav__group--link{text-decoration:none;color:inherit}
.rp-mobile-nav__group--link:hover{color:var(--rp-primary)}
.rp-mobile-nav__panel .rp-btn{margin-top:auto;justify-content:center}
@media(max-width:900px){.rp-navbtn{display:grid}
  /* no mobile o CTA "Agendar" vive dentro do drawer; esconder o do header para não
     estourar a largura ao lado da logo em telas estreitas. */
  .rp-nav > .rp-btn{display:none}}
@media(prefers-reduced-motion:reduce){.rp-mobile-nav__panel{transition:none}}

/* =====================================================================  HERO (vídeo real + veludo)  */
/* Hero ocupa a altura da tela visível (svh = seguro em mobile, não "pula" com a barra do
   navegador). O conteúdo fica centralizado verticalmente; nada é cortado embaixo. */
.rp-hero{position:relative;background:var(--rp-velvet);color:var(--rp-text-on-royal);overflow:hidden;
  min-height:calc(100svh - 76px);display:flex;align-items:center}
/* Imagem de fundo cobrindo o hero inteiro (atrás de tudo). */
.rp-hero__bg{position:absolute;inset:0;z-index:0}
.rp-hero__bg img{width:100%;height:100%;object-fit:cover}
.rp-hero__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(10,20,40,.9),rgba(15,29,61,.6))}
.rp-hero::before{content:"";position:absolute;inset:0;z-index:0;background:var(--rp-damask);
  background-size:var(--rp-damask-size);opacity:.5;pointer-events:none}
.rp-hero::after{content:"";position:absolute;inset:0;z-index:0;background:var(--rp-velvet-grain);pointer-events:none}
.rp-hero__grid{position:relative;z-index:1;width:100%;display:grid;grid-template-columns:1.05fr .95fr;
  gap:var(--rp-space-12);align-items:center;padding-block:var(--rp-space-16)}
.rp-hero__eyebrow{color:var(--rp-gold-400);margin-bottom:var(--rp-space-4)}
.rp-hero h1{color:var(--rp-ivory-50);font-size:var(--rp-fs-4xl);font-weight:700;
  text-transform:uppercase;letter-spacing:.02em;margin-bottom:var(--rp-space-4)}
.rp-hero h1 em{color:var(--rp-gold-400);font-style:normal}
.rp-hero__lead{font-family:var(--rp-font-serif);font-size:1.5rem;line-height:1.4;
  color:var(--rp-ivory-100);max-width:46ch;margin-bottom:var(--rp-space-8)}
.rp-hero__actions{display:flex;gap:var(--rp-space-4);flex-wrap:wrap}
/* Moldura de retrato nobre para o vídeo/foto real */
.rp-hero__frame{position:relative;aspect-ratio:4/5;border-radius:var(--rp-radius-md);
  overflow:hidden;box-shadow:var(--rp-shadow-lg);border:2px solid var(--rp-gold-500);
  outline:6px solid var(--rp-blue-800);outline-offset:-10px;cursor:pointer}
/* object-position:center mantém as legendas queimadas (centro/meio-baixo) visíveis no corte 4/5. */
.rp-hero__frame video,.rp-hero__frame img{width:100%;height:100%;object-fit:cover;object-position:center}
/* Em tela cheia é um tour do espaço: mostrar o vídeo INTEIRO, sem cortar (contain + fundo escuro).
   .is-fullscreen é alternado via JS; :fullscreen cobre o estado nativo do navegador. */
.rp-hero__video.is-fullscreen,.rp-hero__frame video:fullscreen{object-fit:contain;background:#0a1428}
/* .rp-hero__play é um <button> transparente sobreposto: foco/Enter/Espaço nativos. */
.rp-hero__play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;
  border:0;padding:0;width:100%;cursor:pointer;
  background:linear-gradient(0deg,rgba(10,20,40,.5),transparent 55%);
  transition:background var(--rp-transition)}
.rp-hero__play:hover,.rp-hero__play:focus-visible{background:linear-gradient(0deg,rgba(10,20,40,.62),rgba(10,20,40,.12) 60%)}
.rp-hero__play:focus-visible{outline:2px solid var(--rp-gold-400);outline-offset:-4px}
.rp-hero__play .rp-ico{font-size:3.2rem;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5));transition:transform var(--rp-transition)}
.rp-hero__play:hover .rp-ico,.rp-hero__play:focus-visible .rp-ico{transform:scale(1.08)}
.rp-media-note{position:absolute;left:12px;bottom:10px;font-size:var(--rp-fs-xs);
  color:var(--rp-ivory-100);background:rgba(10,20,40,.55);padding:3px 10px;border-radius:var(--rp-radius-pill)}
/* No mobile o grid vira 1 coluna; o vídeo vertical combina com a tela do celular.
   Em vez de esconder, limitamos a largura e centralizamos para não estourar o layout. */
@media(max-width:900px){.rp-hero__grid{grid-template-columns:1fr}
  .rp-hero__frame{width:100%;max-width:300px;margin-inline:auto}
  .rp-hero h1{font-size:var(--rp-fs-3xl)}}

/* =====================================================================  SECTION HEAD  */
.rp-section-head{text-align:center;max-width:60ch;margin:0 auto var(--rp-space-12)}
.rp-section-head h2{font-size:var(--rp-fs-2xl);text-transform:uppercase;letter-spacing:.03em;margin-top:var(--rp-space-2)}
.rp-section-head .rp-lead{font-family:var(--rp-font-serif);font-size:1.35rem;color:var(--rp-ink-700);margin-top:var(--rp-space-3)}

/* =====================================================================  GRID  */
.rp-grid{display:grid;gap:var(--rp-space-6)}
.rp-grid--2{grid-template-columns:repeat(2,1fr)}
.rp-grid--3{grid-template-columns:repeat(3,1fr)}
.rp-grid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.rp-grid--3,.rp-grid--4{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.rp-grid--2,.rp-grid--3,.rp-grid--4{grid-template-columns:1fr}}

/* =====================================================================  CARD DE SERVIÇO  */
.rp-card{display:block;color:inherit;background:var(--rp-bg-elevated);border:1px solid var(--rp-border);
  border-radius:var(--rp-radius-md);padding:var(--rp-space-8);box-shadow:var(--rp-shadow-sm);
  position:relative;transition:transform var(--rp-transition),box-shadow var(--rp-transition)}
.rp-card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  border:1px solid transparent;transition:border-color var(--rp-transition)}
.rp-card:hover{transform:translateY(-4px);box-shadow:var(--rp-shadow-md)}
.rp-card:hover::before{border-color:var(--rp-hairline-gold)}
.rp-card__icon{width:56px;height:56px;display:grid;place-items:center;border-radius:var(--rp-radius-sm);
  color:var(--rp-gold-600);background:var(--rp-blue-900);margin-bottom:var(--rp-space-4);
  border:1px solid var(--rp-hairline-gold)}
.rp-card__icon .rp-ico{font-size:1.6rem}
.rp-card h3{font-size:var(--rp-fs-xl);margin-bottom:var(--rp-space-2)}
.rp-card p{color:var(--rp-text-muted);font-size:var(--rp-fs-sm)}
.rp-card__link{display:inline-flex;gap:.4rem;align-items:center;margin-top:var(--rp-space-4);
  color:var(--rp-primary);font-weight:600;font-size:var(--rp-fs-sm)}

/* =====================================================================  PROVA SOCIAL (veludo + damask)  */
.rp-stats{position:relative;background:var(--rp-velvet);color:var(--rp-text-on-royal)}
.rp-stats::before{content:"";position:absolute;inset:0;background:var(--rp-damask);
  background-size:var(--rp-damask-size);opacity:.5;pointer-events:none}
.rp-stats .rp-container{position:relative;z-index:1}
.rp-stat{text-align:center}
.rp-stat__num{font-family:var(--rp-font-display);font-weight:700;font-size:var(--rp-fs-3xl);color:var(--rp-gold-400)}
.rp-stat__label{font-family:var(--rp-font-serif);font-size:1.15rem;color:var(--rp-ivory-100);margin-top:var(--rp-space-1)}

/* =====================================================================  GALERIA REAL — QUADROS NA PAREDE
   Moldura de madeira talhada REAL (PNG oficial da Realeza), aplicada via border-image —
   mesma técnica usada em realezapets.com.br/pets. Legenda em plaquinha abaixo do quadro:
   "Nome, o Título Nobre" + raça. Pendurado por um fio sutil.
   Asset: realeza-frame-square.png (300x300, slice 150).                                   */
:root{
  --rp-frame-img: url("https://realezapets.com.br/wp-content/uploads/2025/12/realeza-frame-square.png");
}
.rp-pet{display:block;color:inherit;text-align:center;transition:transform var(--rp-transition)}
.rp-pet:hover{transform:translateY(-3px)}
/* Fio + prego de onde o quadro pende */
.rp-pet__hanger{width:1px;height:22px;background:var(--rp-hairline-gold);margin:0 auto}
.rp-pet__hanger::before{content:"";display:block;width:7px;height:7px;border-radius:50%;
  background:var(--rp-ink-700);margin:-3px auto 0;box-shadow:0 1px 2px rgba(0,0,0,.4)}
/* QUADRO: a moldura PNG (miolo transparente, ~13% de borda) é SOBREPOSTA sobre a foto.
   A foto fica numa camada abaixo, com padding igual à borda da moldura para caber no vão.
   --rp-frame-inset = fração da borda da moldura (≈38/300 do asset square). */
:root{ --rp-frame-inset: 12%; }
.rp-pet__frame{position:relative;aspect-ratio:1;width:100%;margin:0 auto;
  filter:drop-shadow(0 10px 18px rgba(10,20,40,.28));transition:filter var(--rp-transition)}
.rp-pet:hover .rp-pet__frame{filter:drop-shadow(0 16px 26px rgba(10,20,40,.4))}
/* Camada 1: foto, recuada para ficar dentro do vão da moldura */
/* :not(.rp-pet__gem) para que este recuo da FOTO não vença (especificidade) sobre a joia,
   que é outro <img> irmão dentro da mesma moldura. */
.rp-pet__frame img:not(.rp-pet__gem){position:absolute;inset:var(--rp-frame-inset);
  width:calc(100% - 2*var(--rp-frame-inset));height:calc(100% - 2*var(--rp-frame-inset));
  object-fit:cover;display:block;background:var(--rp-blue-950)}
/* Camada 2: moldura PNG por cima, cobrindo todo o quadro */
.rp-pet__frame::after{content:"";position:absolute;inset:0;background-image:var(--rp-frame-img);
  background-size:100% 100%;background-repeat:no-repeat;pointer-events:none}
/* Utilitário visually-hidden: texto indexável (SEO/GEO) presente no DOM mas fora da tela;
   usado quando o visual mostra só a imagem e a descrição aparece em tooltip (FEATs 002/004). */
.rp-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
  clip-path:inset(50%);white-space:nowrap;border:0;padding:0;margin:-1px}
/* Containers posicionados para o tooltip (::after) ancorar. SEM overflow:hidden —
   senão o tooltip, que sai acima do elemento, seria cortado. O .rp-vh já não estoura
   (sem white-space:nowrap). */
.rp-jewel,.rp-medal,.rp-command{position:relative}
/* Joia do título CRAVADA na barra de madeira inferior da moldura (parte do quadro, não flutuando).
   A faixa de madeira inferior do PNG vai da base até ~12% da altura (borda = --rp-frame-inset, 12%).
   A joia (PNG sem padding transparente) é quase quadrada; com width:15% a altura ≈ 15% do quadro.
   Ancoramos a BORDA INFERIOR da joia na base do quadro (bottom:0) sem translate vertical, então
   a joia ocupa ~0–15% da altura, com CENTRO em ~7,5%: assenta DENTRO da faixa de madeira inferior
   (0–12%) como um brasão embutido no quadro — a maior parte sobre a madeira, acima do PNG (::after),
   SEM pender para fora da borda inferior e sem cavalgar o vão da foto. URL dinâmica por pet via <img>. */
.rp-pet__gem{position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:15%;height:auto;object-fit:contain;z-index:2;pointer-events:none;
  filter:drop-shadow(0 1px 2px rgba(212,175,55,.55)) drop-shadow(0 2px 4px rgba(10,20,40,.35))}
/* Pets sem joia confirmada mantêm o token {{joia_titulo}} no DOM (o WP troca por uma URL real),
   mas no protótipo estático o token não resolve e viraria uma imagem quebrada: esconde-se até resolver. */
.rp-pet__gem[src^="{{"]{display:none}

/* =====================================================================  HERO DE CAPA DA PÁGINA DO PET (FEAT-002)
   Primeira dobra em 2 colunas sobre um mosaico das fotos do pet (desfocado/escurecido),
   para que as fotos reais funcionem como "capa" sem prejudicar o contraste do conteúdo. */
/* CAPA (estilo foto de capa do Facebook): faixa horizontal de fotos NÍTIDAS do pet, no
   topo da página, ACIMA do nome. Sem blur, sem overlay, sem escurecer — mostra o cão. */
/* Capa: grid de colunas FIXAS que somam 100% (sem grid-auto que multiplica a largura e
   gera scrollWidth). Desktop 4 fotos, tablet 3, mobile 2. min-width:0 evita que a imagem
   force a coluna além da fração. */
.rp-pet-cover{display:grid;grid-template-columns:repeat(4,1fr);
  height:clamp(180px,26vw,320px);overflow:hidden;background:var(--rp-blue-950);
  border-bottom:3px solid var(--rp-gold-500)}
.rp-pet-cover img{width:100%;height:100%;min-width:0;object-fit:cover;object-position:center 35%;display:block}
/* esconde as fotos excedentes conforme reduz o nº de colunas */
@media(max-width:900px){.rp-pet-cover{grid-template-columns:repeat(3,1fr);height:clamp(150px,40vw,220px)}
  .rp-pet-cover img:nth-child(n+4){display:none}}
@media(max-width:560px){.rp-pet-cover{grid-template-columns:repeat(2,1fr)}
  .rp-pet-cover img:nth-child(n+3){display:none}}

/* Hero do pet: fundo CLARO (marfim) — a capa de fotos fica logo acima; aqui o conteúdo
   (nome/atributos) fica em tons escuros para contraste. */
.rp-pet-hero{position:relative;isolation:isolate;
  padding:var(--rp-space-16) 0;background:var(--rp-ivory-50)}
/* minmax(0,520px): o mínimo 0 impede que a coluna esquerda imponha 460px e estoure a
   viewport antes do colapso em 900px (desktop permanece 520px). */
.rp-pet-hero__cols{display:grid;grid-template-columns:minmax(0,520px) 1fr;
  gap:var(--rp-space-16);align-items:start}
@media(max-width:900px){.rp-pet-hero__cols{grid-template-columns:1fr;gap:var(--rp-space-4)}
  /* No mobile aproxima o bloco nome+qualificações do header e do quadro. */
  .rp-pet-hero{padding-block:var(--rp-space-6)}}

/* Moldura MAIOR na coluna esquerda do hero (~420–520px, foto no vão). */
.rp-pet-hero .rp-pet--xl{max-width:520px;width:100%;margin-inline:auto}
/* Sem fio/prego: a joia da moldura é o único adorno; nada pendurado acima do quadro. */
.rp-pet-hero .rp-pet__hanger{display:none}

/* === Moldura do hero: "sticky até encaixar" ===
   A moldura começa fixa no topo da viewport (logo abaixo do header) e ACOMPANHA a rolagem;
   quando o scroll alcança a posição natural dela na coluna do hero, ela DESTRAVA e para ali.
   O JS alterna entre dois estados pela classe no wrapper #rp-hero-pet:
     .is-floating -> position:fixed no topo (acompanhando o scroll)
     (sem classe)  -> no fluxo normal, parada no lugar final (encaixada)
   Um placeholder (.rp-pet-dock) reserva a altura enquanto a moldura está flutuando, para a
   página não "pular". Offset do topo = altura do header fixo (--rp-frame-top). */
:root{ --rp-frame-top: 92px; }
#rp-hero-pet{transition:none}
#rp-hero-pet.is-floating{position:fixed;top:var(--rp-frame-top);z-index:40;
  margin:0 !important;will-change:left,top,width}
/* placeholder que segura o espaço no fluxo enquanto a moldura flutua */
.rp-pet-dock{display:none}
.rp-pet-dock.is-active{display:block}
@media(prefers-reduced-motion:reduce){
  /* Sem animação de scroll: a moldura fica sempre no lugar natural. */
  #rp-hero-pet.is-floating{position:static;top:auto}
  .rp-pet-dock.is-active{display:none}
}

/* MOBILE (<=900px): some com a faixa de capa e desliga a moldura "flutuante" do hero.
   A moldura (#rp-hero-pet) volta ao fluxo normal — sem sticky/fixed — mesmo que o JS
   da versão desktop tenha rodado. Desktop permanece idêntico (nada disto se aplica). */
@media(max-width:900px){
  .rp-pet-cover{display:none}
  #rp-hero-pet.is-floating{position:static !important;left:auto !important;width:100% !important}
  .rp-pet-dock{display:none !important}
}

/* Fileira de joias/títulos ABAIXO do quadro (fora da moldura), com tooltip e nome no DOM. */
.rp-jewels-collection{margin-top:var(--rp-space-8)}
.rp-jewels__label{display:block;margin-bottom:var(--rp-space-3)}
/* Variante centralizada: flex-wrap com justify-content:center. Ao contrário do grid
   auto-fit (que alinha a última linha incompleta à esquerda), o flex centraliza CADA
   linha, inclusive a última. */
.rp-jewels--center{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--rp-space-4)}
.rp-jewels{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--rp-space-4);
  margin-top:0}
.rp-jewel{display:inline-flex;align-items:center;justify-content:center;padding:var(--rp-space-1)}
.rp-jewel img{width:44px;height:44px;object-fit:contain;
  filter:drop-shadow(0 2px 6px rgba(10,20,40,.4));transition:transform var(--rp-transition)}
.rp-jewel:hover img,.rp-jewel:focus-within img{transform:translateY(-2px) scale(1.06)}
/* Miniaturas placeholder ({{titulo}} vem do WP via API) não resolvem no protótipo estático:
   escondemos a miniatura inteira até ter URL real, espelhando a guarda de .rp-pet__gem. */
.rp-jewel:has(img[src^="{{"]){display:none}
.rp-jewel img[src^="{{"]{display:none}

/* Tooltip CSS puro: aplicável a .rp-jewel/.rp-medal/.rp-command via [data-tip].
   Bolha (::after) + seta (::before) aparecem em :hover / :focus-within. */
.rp-tip{position:relative;outline:none}
.rp-tip[data-tip]::after{content:attr(data-tip);position:absolute;left:50%;bottom:100%;
  transform:translate(-50%,-8px);background:var(--rp-blue-900);color:var(--rp-ivory-50);
  font-family:var(--rp-font-body);font-size:var(--rp-fs-xs);line-height:1.3;
  padding:var(--rp-space-2) var(--rp-space-3);border-radius:var(--rp-radius-sm);
  border:1px solid var(--rp-hairline-gold);box-shadow:var(--rp-shadow-md);
  white-space:normal;width:max-content;max-width:220px;text-align:center;
  opacity:0;visibility:hidden;transition:opacity var(--rp-transition),transform var(--rp-transition);
  z-index:5;pointer-events:none}
.rp-tip[data-tip]::before{content:"";position:absolute;left:50%;bottom:100%;
  transform:translate(-50%,0);border:6px solid transparent;border-top-color:var(--rp-blue-900);
  opacity:0;visibility:hidden;transition:opacity var(--rp-transition);z-index:5;pointer-events:none}
.rp-tip[data-tip]:hover::after,.rp-tip[data-tip]:focus-within::after{opacity:1;visibility:visible;
  transform:translate(-50%,-4px)}
.rp-tip[data-tip]:hover::before,.rp-tip[data-tip]:focus-within::before{opacity:1;visibility:visible}

/* Coluna direita ESTREITA: identidade + atributos (não ponta a ponta). */
.rp-pet-id{max-width:520px;color:var(--rp-ink-900)}
.rp-pet-id .rp-pet-id__name{font-family:var(--rp-font-display);font-size:var(--rp-fs-3xl);
  text-transform:uppercase;color:var(--rp-blue-800);margin:0 0 var(--rp-space-2)}
.rp-pet-id .rp-pet-id__title{font-family:var(--rp-font-serif);font-size:1.6rem;
  color:var(--rp-gold-700);margin:0 0 var(--rp-space-2)}
.rp-pet-id .rp-pet-id__meta{font-family:var(--rp-font-serif);font-size:1.15rem;
  color:var(--rp-ink-700);margin:0}
.rp-pet-id .rp-pet-id__age{font-family:var(--rp-font-body);font-size:var(--rp-fs-sm);
  color:var(--rp-gold-700);margin:var(--rp-space-1) 0 0}
/* Painéis dentro do hero (fundo claro): cartão branco com borda sutil para destacar do marfim. */
.rp-pet-id .rp-panel{background:var(--rp-white);border:1px solid var(--rp-border);
  box-shadow:var(--rp-shadow-sm);margin-top:var(--rp-space-6);
  margin-bottom:0;padding:var(--rp-space-6)}
.rp-pet-id .rp-panel__head{margin-bottom:var(--rp-space-4)}
.rp-pet-id .rp-panel__head h2{font-size:var(--rp-fs-lg)}
/* Personalidade compacta na coluna estreita. */
.rp-pet-id .rp-traits{gap:var(--rp-space-2)}
.rp-pet-id .rp-trait{grid-template-columns:120px 1fr;gap:var(--rp-space-3)}
.rp-pet-id .rp-trait__label{font-size:.95rem}
.rp-pet-id .rp-trait__track{height:9px}
.rp-pet-id .rp-medals{grid-template-columns:repeat(6,1fr);gap:var(--rp-space-2)}
/* Comandos no MESMO tamanho/colunas das medalhas dentro da coluna de identidade. */
.rp-pet-id .rp-commands{grid-template-columns:repeat(6,1fr);gap:var(--rp-space-2);max-width:none}
/* Medalhas e Comandos SEM card/painel: só as imagens com um rótulo discreto.
   O grupo não tem fundo/borda; sobre o fundo claro o eyebrow usa dourado escuro. */
.rp-pet-id .rp-pet-group{margin-top:var(--rp-space-6)}
.rp-pet-id .rp-pet-group > .rp-eyebrow{margin-bottom:var(--rp-space-3);color:var(--rp-gold-700)}
@media(max-width:900px){.rp-pet-id{max-width:none;margin-inline:auto}}
/* Identidade do pet antes/depois do quadro: no desktop fica na coluna direita
   (head--desktop visível, head--mobile oculto); no mobile o head--mobile aparece
   ANTES do quadro e o head--desktop some. Evita duplicar o texto visualmente. */
.rp-pet-id__head--mobile{display:none}
.rp-pet-id__head--mobile{text-align:center;margin-bottom:var(--rp-space-6)}
@media(max-width:900px){
  .rp-pet-id__head--mobile{display:block;margin-bottom:var(--rp-space-4)}
  .rp-pet-id__head--desktop{display:none}
}
/* Plaquinha da legenda, como numa galeria de arte */
.rp-pet__plate{margin-top:var(--rp-space-4)}
.rp-pet__name{font-family:var(--rp-font-display);font-size:var(--rp-fs-lg);
  letter-spacing:.03em;color:var(--rp-blue-800);line-height:1.25}
.rp-pet__name em{font-style:italic;font-family:var(--rp-font-serif);color:var(--rp-gold-700);
  text-transform:none;letter-spacing:0}
.rp-pet__breed{font-family:var(--rp-font-serif);font-size:1.05rem;color:var(--rp-ink-500);margin-top:2px}
/* Espaçamento entre os quadros da galeria */
.rp-gallery{gap:var(--rp-space-8)}
/* Variante "trilho de galeria de arte": fila horizontal rolável, SEM barra de rolagem
   visível, com snap suave. Cada quadro tem largura fixa; o usuário arrasta/rola de lado. */
.rp-gallery--rail{display:flex;flex-wrap:nowrap;gap:var(--rp-space-8);overflow-x:auto;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  padding-bottom:var(--rp-space-2);scrollbar-width:none;-ms-overflow-style:none;
  scroll-padding-left:var(--rp-space-2)}
.rp-gallery--rail::-webkit-scrollbar{display:none;width:0;height:0}
.rp-gallery--rail .rp-pet{flex:0 0 clamp(220px,24vw,300px);scroll-snap-align:start}
@media(max-width:560px){.rp-gallery--rail .rp-pet{flex-basis:78vw}}

/* =====================================================================  FAIXA DE DIFERENCIAIS (sobre foto do espaço)  */
.rp-feature{position:relative;color:var(--rp-text-on-royal);border-radius:var(--rp-radius-lg);overflow:hidden;
  box-shadow:var(--rp-shadow-lg);border:1px solid var(--rp-hairline-gold)}
.rp-feature__bg{position:absolute;inset:0}
.rp-feature__bg img{width:100%;height:100%;object-fit:cover}
.rp-feature__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(10,20,40,.92),rgba(15,29,61,.72))}
.rp-feature__inner{position:relative;z-index:1;padding:var(--rp-space-16)}
.rp-feature__list{display:grid;grid-template-columns:1fr 1fr;gap:var(--rp-space-6);margin-top:var(--rp-space-8)}
.rp-feature__item{display:flex;gap:var(--rp-space-3)}
.rp-feature__item .rp-ico{font-size:1.5rem;color:var(--rp-gold-400);flex:none;margin-top:3px}
.rp-feature__item h4{font-family:var(--rp-font-serif);color:var(--rp-ivory-50);font-size:var(--rp-fs-lg)}
.rp-feature__item p{color:var(--rp-ivory-200);font-size:var(--rp-fs-sm)}
@media(max-width:720px){.rp-feature__list{grid-template-columns:1fr}.rp-feature__inner{padding:var(--rp-space-8)}}

/* =====================================================================  FAIXA DE CTA (reutilizável)  */
/* Título do CTA não quebra NO MEIO da palavra (ex.: "INFORMAÇÕES"): quebra entre palavras. */
.rp-cta-band h2{overflow-wrap:normal;word-break:normal;hyphens:none}
.rp-cta-band{position:relative;background:var(--rp-velvet);color:var(--rp-text-on-royal);
  border-radius:var(--rp-radius-lg);padding:var(--rp-space-16);text-align:center;
  box-shadow:var(--rp-shadow-lg);border:1px solid var(--rp-hairline-gold);overflow:hidden}
.rp-cta-band::before{content:"";position:absolute;inset:0;background:var(--rp-damask);
  background-size:var(--rp-damask-size);opacity:.5}
.rp-cta-band>*{position:relative;z-index:1}
.rp-cta-band h2{color:var(--rp-ivory-50);font-size:var(--rp-fs-2xl);text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--rp-space-3)}
.rp-cta-band p{font-family:var(--rp-font-serif);font-size:1.3rem;color:var(--rp-ivory-100);margin-bottom:var(--rp-space-6)}

/* =====================================================================  DEPOIMENTOS (Google)  */
.rp-reviews{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--rp-space-6)}
@media(max-width:720px){.rp-reviews{grid-template-columns:1fr}}
.rp-review{margin:0;background:var(--rp-bg-elevated);border:1px solid var(--rp-border);
  border-radius:var(--rp-radius-md);padding:var(--rp-space-6);box-shadow:var(--rp-shadow-sm);
  display:flex;flex-direction:column;gap:var(--rp-space-3)}
.rp-review__stars{color:var(--rp-gold-500);font-size:1.1rem;letter-spacing:2px}
.rp-review__text{margin:0;font-family:var(--rp-font-serif);font-size:1.1rem;line-height:1.5;
  color:var(--rp-ink-900);font-style:italic}
.rp-review__author{font-size:var(--rp-fs-sm);color:var(--rp-ink-700)}
.rp-review__author [itemprop="name"]{font-weight:600;color:var(--rp-blue-800)}
.rp-review__src{color:var(--rp-ink-500);margin-left:.4rem}
/* Botão "Ver algumas avaliações" na home + painel recolhível. */
.rp-reviews-toggle{text-align:center;margin-top:var(--rp-space-6)}
.rp-reviews-panel[hidden]{display:none}
.rp-reviews-panel{margin-top:var(--rp-space-8)}

/* =====================================================================  FOOTER  */
.rp-footer{position:relative;background:var(--rp-blue-950);color:var(--rp-ivory-200);padding-block:var(--rp-space-12)}
.rp-footer::before{content:"";position:absolute;inset:0;background:var(--rp-damask);
  background-size:var(--rp-damask-size);opacity:.35}
.rp-footer .rp-container{position:relative;z-index:1}
.rp-footer__grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:var(--rp-space-8)}
/* Bloco de contato (endereço/telefone/horário) no rodapé, abaixo da marca. */
.rp-footer__contact{margin-top:var(--rp-space-5);display:grid;gap:var(--rp-space-2)}
.rp-footer__contact p{display:flex;align-items:flex-start;gap:var(--rp-space-2);
  font-size:var(--rp-fs-sm);color:var(--rp-ivory-200);margin:0}
.rp-footer__contact .rp-ico{color:var(--rp-gold-400);flex:0 0 auto;margin-top:2px}
.rp-footer__contact a{display:inline;padding:0}
.rp-footer h4{color:var(--rp-gold-400);font-family:var(--rp-font-body);font-size:var(--rp-fs-xs);
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:var(--rp-space-4)}
.rp-footer a{display:block;color:var(--rp-ivory-200);font-size:var(--rp-fs-sm);padding-block:4px;opacity:.85}
.rp-footer a:hover{opacity:1;color:var(--rp-gold-300)}
.rp-footer__brand{font-family:var(--rp-font-display);font-size:1.4rem;letter-spacing:.08em;color:var(--rp-ivory-50)}
/* Logo do rodapé: versão BRANCA com transparência (realeza-logo-branca.png), gerada a
   partir da arte do CDN com o fundo branco removido. Sem filtro: a imagem já é branca. */
.rp-footer__logo{height:56px;width:auto;display:block}
.rp-footer__legal{margin-top:var(--rp-space-8);padding-top:var(--rp-space-6);
  border-top:1px solid var(--rp-hairline-gold);font-size:var(--rp-fs-xs);opacity:.7}
@media(max-width:960px){.rp-footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.rp-footer__grid{grid-template-columns:1fr}}

/* =====================================================================  LOCALIZAÇÃO + MAPA (local SEO)  */
.rp-location{display:grid;grid-template-columns:1fr 1.15fr;gap:0;border-radius:var(--rp-radius-lg);
  overflow:hidden;box-shadow:var(--rp-shadow-md);border:1px solid var(--rp-border)}
.rp-location__info{background:var(--rp-blue-900);color:var(--rp-text-on-royal);position:relative;
  padding:var(--rp-space-16)}
.rp-location__info::before{content:"";position:absolute;inset:0;background:var(--rp-damask);
  background-size:var(--rp-damask-size);opacity:.4}
.rp-location__info>*{position:relative;z-index:1}
.rp-location__info h2{color:var(--rp-ivory-50);font-size:var(--rp-fs-2xl);text-transform:uppercase;
  letter-spacing:.03em;margin:var(--rp-space-2) 0 var(--rp-space-6)}
.rp-nap{display:grid;gap:var(--rp-space-4);margin-bottom:var(--rp-space-8)}
.rp-nap__row{display:flex;gap:var(--rp-space-3);align-items:flex-start}
.rp-nap__row .rp-ico{font-size:1.3rem;color:var(--rp-gold-400);flex:none;margin-top:3px}
.rp-nap__row span{font-family:var(--rp-font-serif);font-size:1.2rem;color:var(--rp-ivory-100)}
.rp-nap__row strong{display:block;font-family:var(--rp-font-body);font-size:var(--rp-fs-xs);
  letter-spacing:.12em;text-transform:uppercase;color:var(--rp-gold-400);font-weight:600;margin-bottom:2px}
.rp-location__map{position:relative;min-height:420px;background:var(--rp-blue-800)}
.rp-location__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.15) contrast(1.02)}
@media(max-width:860px){.rp-location{grid-template-columns:1fr}.rp-location__map{min-height:320px}.rp-location__info{padding:var(--rp-space-8)}}

.rp-ds-note{background:var(--rp-blue-950);color:var(--rp-gold-300);font-size:var(--rp-fs-xs);
  text-align:center;padding:var(--rp-space-3);letter-spacing:.04em;border-bottom:1px solid var(--rp-hairline-gold)}

/* =====================================================================
   COMPONENTES ADICIONAIS (páginas internas) — parte do design system
   ===================================================================== */

/* ---- Hero interno (páginas que não são a home): faixa azul + damask ---- */
.rp-pagehero{position:relative;background:var(--rp-velvet);color:var(--rp-text-on-royal);overflow:hidden}
.rp-pagehero::before{content:"";position:absolute;inset:0;background:var(--rp-damask);
  background-size:var(--rp-damask-size);opacity:.45;pointer-events:none}
.rp-pagehero__inner{position:relative;z-index:1;padding-block:var(--rp-space-16);text-align:center}
.rp-pagehero h1{color:var(--rp-ivory-50);font-size:var(--rp-fs-3xl);text-transform:uppercase;
  letter-spacing:.02em;margin-top:var(--rp-space-2)}
.rp-pagehero__lead{font-family:var(--rp-font-serif);font-size:1.4rem;color:var(--rp-ivory-100);
  max-width:62ch;margin:var(--rp-space-4) auto 0}
.rp-pagehero .rp-eyebrow{color:var(--rp-gold-400)}
.rp-pagehero__cta{display:flex;gap:var(--rp-space-4);flex-wrap:wrap;justify-content:center;
  margin-top:var(--rp-space-8)}

/* ---- Breadcrumb ---- */
.rp-breadcrumb{font-size:var(--rp-fs-sm);color:var(--rp-ink-500);padding-block:var(--rp-space-4)}
.rp-breadcrumb a{color:var(--rp-primary)}
.rp-breadcrumb a:hover{text-decoration:underline}
.rp-breadcrumb span{margin-inline:.4rem;opacity:.6}

/* ---- Prose (corpo de artigo / páginas de texto) ---- */
.rp-prose{max-width:72ch;margin-inline:auto;font-size:1.08rem;color:var(--rp-ink-700);line-height:1.75}
.rp-prose h2{font-family:var(--rp-font-display);font-size:var(--rp-fs-xl);text-transform:uppercase;
  letter-spacing:.02em;color:var(--rp-blue-800);margin:var(--rp-space-12) 0 var(--rp-space-3)}
.rp-prose h3{font-family:var(--rp-font-serif);font-size:1.5rem;color:var(--rp-blue-800);
  margin:var(--rp-space-8) 0 var(--rp-space-2)}
.rp-prose p{margin-bottom:var(--rp-space-4)}
.rp-prose ul,.rp-prose ol{margin:0 0 var(--rp-space-4) 1.2rem;display:grid;gap:.4rem}
.rp-prose a{color:var(--rp-primary);text-decoration:underline;text-decoration-color:var(--rp-hairline-gold)}
.rp-prose img{border-radius:var(--rp-radius-md);margin-block:var(--rp-space-6);box-shadow:var(--rp-shadow-sm)}
.rp-prose figure{margin:var(--rp-space-6) 0}
.rp-prose figcaption{font-family:var(--rp-font-serif);font-size:.95rem;color:var(--rp-ink-500);
  text-align:center;margin-top:var(--rp-space-2)}
/* Markup de bloco do WP importado (wp-block-*): legibilidade + anti-overflow (sem redesign) */
.rp-prose img{max-width:100%;height:auto}
.rp-prose figure{max-width:100%}
.rp-prose figure img{width:100%}
.rp-prose h4{font-family:var(--rp-font-serif);color:var(--rp-blue-800);
  margin:var(--rp-space-6) 0 var(--rp-space-2);font-size:1.15rem}
.rp-prose blockquote{border-left:3px solid var(--rp-gold-500);margin:var(--rp-space-6) 0;
  padding:var(--rp-space-2) var(--rp-space-5);color:var(--rp-ink-600);font-family:var(--rp-font-serif)}
.rp-prose table{width:100%;border-collapse:collapse;margin:var(--rp-space-6) 0;
  display:block;overflow-x:auto}
.rp-prose th,.rp-prose td{padding:var(--rp-space-2) var(--rp-space-3);
  border:1px solid var(--rp-hairline-gold);text-align:left}
/* Caixa "Resposta rápida" (bom para GEO: resposta direta destacada) */
.rp-answer{background:var(--rp-ivory-100);border-left:3px solid var(--rp-gold-500);
  border-radius:var(--rp-radius-sm);padding:var(--rp-space-4) var(--rp-space-6);margin:var(--rp-space-6) 0;
  font-family:var(--rp-font-serif);font-size:1.2rem;color:var(--rp-blue-900)}
.rp-answer strong{font-family:var(--rp-font-body);font-weight:600;text-transform:uppercase;
  font-size:var(--rp-fs-xs);letter-spacing:.14em;color:var(--rp-gold-700);display:block;margin-bottom:.3rem}

/* ---- Card de artigo (listagem do blog) ---- */
.rp-article-card{display:flex;flex-direction:column;background:var(--rp-bg-elevated);
  border:1px solid var(--rp-border);border-radius:var(--rp-radius-md);overflow:hidden;
  box-shadow:var(--rp-shadow-sm);transition:transform var(--rp-transition),box-shadow var(--rp-transition)}
.rp-article-card:hover{transform:translateY(-4px);box-shadow:var(--rp-shadow-md)}
.rp-article-card__img{aspect-ratio:16/10;overflow:hidden;background:var(--rp-blue-900)}
.rp-article-card__img img{width:100%;height:100%;object-fit:cover}
.rp-article-card__body{padding:var(--rp-space-6);display:flex;flex-direction:column;gap:var(--rp-space-2);flex:1}
.rp-article-card__cat{font-size:var(--rp-fs-xs);letter-spacing:.12em;text-transform:uppercase;
  color:var(--rp-gold-700);font-weight:600}
.rp-article-card h3{font-size:1.35rem;color:var(--rp-blue-800)}
.rp-article-card p{font-size:var(--rp-fs-sm);color:var(--rp-text-muted);flex:1}

/* ---- Chips de filtro (categorias / raças) ---- */
.rp-chips{display:flex;flex-wrap:wrap;gap:var(--rp-space-2);justify-content:center;margin-bottom:var(--rp-space-8)}
/* Variante em LINHA ÚNICA com scroll horizontal (filtro de raças da /pets/). Não quebra
   linha; rola na horizontal. Chips não encolhem e o scrollbar fica discreto. */
.rp-chips--scroll{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin;
  scrollbar-color:var(--rp-gold-500) transparent;
  padding-bottom:var(--rp-space-3);scroll-snap-type:x proximity}
.rp-chips--scroll .rp-chip{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start}
.rp-chips--scroll::-webkit-scrollbar{height:8px}
.rp-chips--scroll::-webkit-scrollbar-track{background:transparent}
.rp-chips--scroll::-webkit-scrollbar-thumb{background:var(--rp-gold-500);border-radius:var(--rp-radius-pill)}
.rp-chip{font-size:var(--rp-fs-sm);padding:.45rem 1rem;border-radius:var(--rp-radius-pill);
  border:1px solid var(--rp-border);color:var(--rp-ink-700);background:var(--rp-bg-elevated);transition:all var(--rp-transition)}
.rp-chip:hover,.rp-chip[aria-current="true"]{border-color:var(--rp-primary);color:var(--rp-primary);background:rgba(29,54,102,.04)}
/* Mobile: eleva o alvo de toque dos chips (filtros de raça/tosa) para >=44px sem mexer no desktop */
@media(max-width:720px){.rp-chip{display:inline-flex;align-items:center;min-height:44px;padding-block:.6rem}}

/* ---- Card de produto (loja) ---- */
.rp-product{display:flex;flex-direction:column;background:var(--rp-bg-elevated);border:1px solid var(--rp-border);
  border-radius:var(--rp-radius-md);overflow:hidden;box-shadow:var(--rp-shadow-sm);
  transition:transform var(--rp-transition),box-shadow var(--rp-transition)}
.rp-product:hover{transform:translateY(-4px);box-shadow:var(--rp-shadow-md)}
.rp-product__img{aspect-ratio:1;background:var(--rp-ivory-100);display:grid;place-items:center;overflow:hidden;padding:var(--rp-space-4)}
/* contain: mostra a embalagem INTEIRA (fundo neutro nas sobras) em vez de cortar. */
.rp-product__img img{width:100%;height:100%;object-fit:contain}
.rp-product__body{padding:var(--rp-space-4);display:flex;flex-direction:column;gap:.3rem;flex:1}
.rp-product__name{font-family:var(--rp-font-serif);font-size:1.15rem;color:var(--rp-blue-800)}
.rp-product__meta{font-size:var(--rp-fs-xs);color:var(--rp-ink-500)}
.rp-product__price{font-weight:600;color:var(--rp-blue-900);margin-top:auto}
.rp-product__cashback{font-size:var(--rp-fs-xs);color:var(--rp-gold-700)}

/* ---- Card de presente: 2 fotos que alternam (lifestyle <-> fundo branco) ---- */
.rp-giftcard{display:flex;flex-direction:column;background:var(--rp-bg-elevated);
  border:1px solid var(--rp-border);border-radius:var(--rp-radius-md);overflow:hidden;
  box-shadow:var(--rp-shadow-sm);transition:transform var(--rp-transition),box-shadow var(--rp-transition)}
.rp-giftcard:hover,.rp-giftcard:focus-within{transform:translateY(-4px);box-shadow:var(--rp-shadow-md)}
.rp-giftcard__media{position:relative;aspect-ratio:1;background:var(--rp-ivory-100);overflow:hidden}
.rp-giftcard__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:opacity var(--rp-transition)}
/* foto A (lifestyle) por cima; foto B (fundo branco) por baixo. No hover/foco, A some. */
.rp-giftcard__img--a{opacity:1;z-index:1}
.rp-giftcard__img--b{opacity:1;z-index:0;object-fit:contain;background:var(--rp-white);padding:var(--rp-space-4)}
.rp-giftcard:hover .rp-giftcard__img--a,
.rp-giftcard:focus-within .rp-giftcard__img--a{opacity:0}
.rp-giftcard__body{padding:var(--rp-space-4);display:flex;flex-direction:column;gap:.3rem;flex:1}
.rp-giftcard__body h3{font-size:var(--rp-fs-xl)}
.rp-giftcard__body p{color:var(--rp-text-muted);font-size:var(--rp-fs-sm)}
/* Sem hover (toque): alterna sozinho com um crossfade lento, para evidenciar as 2 fotos. */
@media(hover:none){
  .rp-giftcard__img--a{animation:rp-gift-swap 6s ease-in-out infinite}
}
@keyframes rp-gift-swap{0%,40%{opacity:1}60%,90%{opacity:0}100%{opacity:1}}
@media(prefers-reduced-motion:reduce){
  .rp-giftcard__img--a{animation:none}
}

/* ---- FAQ (accordion) — detalhes nativos ---- */
.rp-faq{max-width:72ch;margin-inline:auto;display:grid;gap:var(--rp-space-3)}
.rp-faq details{background:var(--rp-bg-elevated);border:1px solid var(--rp-border);
  border-radius:var(--rp-radius-md);padding:var(--rp-space-4) var(--rp-space-6)}
.rp-faq summary{cursor:pointer;font-family:var(--rp-font-serif);font-size:1.2rem;color:var(--rp-blue-800);
  list-style:none;display:flex;justify-content:space-between;gap:var(--rp-space-4);align-items:center}
.rp-faq summary::-webkit-details-marker{display:none}
.rp-faq summary::after{content:"+";color:var(--rp-gold-600);font-size:1.4rem;line-height:1}
.rp-faq details[open] summary::after{content:"–"}
.rp-faq p{margin-top:var(--rp-space-3);color:var(--rp-ink-700)}
/* ---- FAQ por categorias ---- */
.rp-faq-group{max-width:72ch;margin-inline:auto}
.rp-faq-group + .rp-faq-group{margin-top:var(--rp-space-8)}
.rp-faq-group__title{font-family:var(--rp-font-display);font-size:var(--rp-fs-lg);
  text-transform:uppercase;letter-spacing:.08em;color:var(--rp-gold-700);
  padding-bottom:var(--rp-space-2);margin-bottom:var(--rp-space-4);
  border-bottom:1px solid var(--rp-hairline-gold)}

/* ---- Lista de inclusos (checklist nobre) ---- */
.rp-checklist{display:grid;gap:var(--rp-space-3);max-width:50ch;margin:0;padding:0}
.rp-checklist li{display:flex;gap:var(--rp-space-3);align-items:flex-start;list-style:none;min-width:0}
.rp-checklist .rp-ico{color:var(--rp-gold-600);font-size:1.2rem;flex:none;margin-top:3px}

/* ---- Câmera ao vivo: formulário de telefone ---- */
.rp-live{max-width:520px;margin-inline:auto;background:var(--rp-bg-elevated);border:1px solid var(--rp-border);
  border-radius:var(--rp-radius-lg);box-shadow:var(--rp-shadow-md);padding:var(--rp-space-12);text-align:center}
.rp-live__icon{width:64px;height:64px;margin:0 auto var(--rp-space-4);display:grid;place-items:center;
  border-radius:50%;background:var(--rp-blue-900);color:var(--rp-gold-400);border:1px solid var(--rp-hairline-gold)}
.rp-live__icon .rp-ico{font-size:1.8rem}
.rp-field{display:flex;gap:var(--rp-space-3);margin-top:var(--rp-space-6)}
.rp-input{flex:1;font-family:var(--rp-font-body);font-size:var(--rp-fs-base);padding:.8rem 1rem;
  border:1px solid var(--rp-border);border-radius:var(--rp-radius-pill);background:var(--rp-bg);color:var(--rp-text)}
.rp-input:focus{outline:none;border-color:var(--rp-primary);box-shadow:0 0 0 3px rgba(29,54,102,.12)}
.rp-live__note{font-size:var(--rp-fs-xs);color:var(--rp-ink-500);margin-top:var(--rp-space-4)}
@media(max-width:480px){.rp-field{flex-direction:column}}

/* ---- Utilitário: 2 colunas texto+mídia ---- */
.rp-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--rp-space-12);align-items:center}
.rp-split__media{border-radius:var(--rp-radius-lg);overflow:hidden;box-shadow:var(--rp-shadow-md);aspect-ratio:4/3}
.rp-split__media img{width:100%;height:100%;object-fit:cover}
@media(max-width:860px){.rp-split{grid-template-columns:minmax(0,1fr)}}
.rp-split>*{min-width:0}

/* ---- Títulos nobres / Medalhas / Comandos (perfil do pet) ----
   Cada conquista é um brasão: ícone de coroa em caixa azul, nome em capitular
   heráldica, nível em chip dourado e descrição em serif. Sem emojis. */
.rp-award-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--rp-space-4)}
@media(max-width:720px){.rp-award-list{grid-template-columns:1fr}}
.rp-award{display:flex;gap:var(--rp-space-4);align-items:flex-start;background:var(--rp-bg-elevated);
  border:1px solid var(--rp-border);border-left:3px solid var(--rp-gold-500);
  border-radius:var(--rp-radius-md);padding:var(--rp-space-4);box-shadow:var(--rp-shadow-sm)}
.rp-award__icon{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:var(--rp-radius-sm);
  color:var(--rp-gold-600);background:var(--rp-blue-900);border:1px solid var(--rp-hairline-gold)}
.rp-award__icon .rp-ico{font-size:1.3rem}
.rp-award__body{display:flex;flex-direction:column;gap:.3rem}
.rp-award__name{font-family:var(--rp-font-display);font-size:var(--rp-fs-lg);letter-spacing:.02em;
  color:var(--rp-blue-800);line-height:1.2}
.rp-award__level{align-self:flex-start;font-family:var(--rp-font-body);font-size:var(--rp-fs-xs);font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--rp-gold-700);background:var(--rp-ivory-100);
  border:1px solid var(--rp-hairline-gold);border-radius:var(--rp-radius-pill);padding:.15rem .6rem}
.rp-award__desc{font-family:var(--rp-font-serif);font-size:var(--rp-fs-sm);color:var(--rp-ink-700);line-height:1.5}

/* ---- Feed de atualizações (diário / momentos do pet) ----
   Card com mídia opcional à esquerda; sem mídia vira coluna única fluida. */
.rp-update{display:grid;grid-template-columns:auto 1fr;gap:var(--rp-space-6);align-items:start;
  background:var(--rp-bg-elevated);border:1px solid var(--rp-border);border-radius:var(--rp-radius-md);
  padding:var(--rp-space-6);box-shadow:var(--rp-shadow-sm)}
.rp-update__body{display:flex;flex-direction:column;gap:var(--rp-space-2)}
/* Ícone GRANDE do tipo, na coluna esquerda do card. Cor por data-tipo (abaixo). */
.rp-update__icon{flex:0 0 auto;width:64px;height:64px;display:grid;place-items:center;
  border-radius:50%;background:var(--rp-ivory-100);color:var(--rp-blue-700);
  border:1px solid var(--rp-border)}
.rp-update__icon .rp-ico{font-size:1.9rem;width:1.9rem;height:1.9rem}
/* Badges da atividade (medalhas/comandos): grade de colunas na MESMA linha, ABAIXO do
   texto. Fundo transparente (os PNGs já têm alfa) — nada de retângulo atrás. */
.rp-update__badges{display:flex;flex-wrap:wrap;gap:var(--rp-space-4);margin-top:var(--rp-space-3)}
.rp-update__badge{flex:0 0 auto}
.rp-update__badge img{height:72px;width:auto;max-width:96px;object-fit:contain;display:block;
  filter:drop-shadow(0 2px 5px rgba(10,20,40,.22))}
@media(max-width:560px){.rp-update__badge img{height:60px}}
/* Cores por categoria: título (dourado), medalha (azul nobre), adestramento (verde),
   comando (ametista), banho/update (ciano). Tons sólidos legíveis sobre fundo claro. */
.rp-update[data-tipo="titulo"] .rp-update__icon{background:rgba(212,175,55,.16);color:var(--rp-gold-700);border-color:var(--rp-hairline-gold)}
.rp-update[data-tipo="medalha"] .rp-update__icon{background:rgba(29,54,102,.10);color:var(--rp-blue-800)}
.rp-update[data-tipo="adestramento"] .rp-update__icon{background:rgba(34,120,80,.14);color:#227850}
.rp-update[data-tipo="habilidade"] .rp-update__icon{background:rgba(120,70,160,.14);color:#7846a0}
.rp-update[data-tipo="update"] .rp-update__icon{background:rgba(40,120,160,.14);color:#2878a0}
.rp-update h3,.rp-update__title{font-family:var(--rp-font-serif);font-size:1.3rem;color:var(--rp-blue-800);line-height:1.25}
.rp-update__time{font-family:var(--rp-font-body);font-size:var(--rp-fs-xs);letter-spacing:.12em;
  text-transform:uppercase;color:var(--rp-ink-500)}
.rp-update p{color:var(--rp-ink-700);font-size:var(--rp-fs-sm)}
@media(max-width:560px){.rp-update__icon{width:52px;height:52px}.rp-update__icon .rp-ico{font-size:1.5rem;width:1.5rem;height:1.5rem}}

/* ---- Citação em destaque (proposta / fala institucional) ---- */
.rp-quote{font-family:var(--rp-font-serif);font-size:1.6rem;font-style:italic;line-height:1.4;
  color:var(--rp-blue-900);background:var(--rp-ivory-100);border-left:3px solid var(--rp-gold-500);
  border-radius:var(--rp-radius-sm);padding:var(--rp-space-6) var(--rp-space-8);margin:var(--rp-space-6) 0}

/* ---- Formulário (interesse / lead) ---- */
.rp-form{max-width:640px;margin-inline:auto;background:var(--rp-bg-elevated);
  border:1px solid var(--rp-border);border-radius:var(--rp-radius-lg);
  box-shadow:var(--rp-shadow-md);padding:var(--rp-space-12);display:grid;gap:var(--rp-space-4)}
.rp-form__row{display:grid;gap:var(--rp-space-2)}
.rp-form label{font-family:var(--rp-font-body);font-size:var(--rp-fs-xs);font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--rp-gold-700)}
.rp-form input,.rp-form select,.rp-form textarea{font-family:var(--rp-font-body);
  font-size:var(--rp-fs-base);padding:.75rem 1rem;border:1px solid var(--rp-border);
  border-radius:var(--rp-radius-md);background:var(--rp-bg);color:var(--rp-text);width:100%}
.rp-form input:focus,.rp-form select:focus,.rp-form textarea:focus{outline:none;
  border-color:var(--rp-primary);box-shadow:0 0 0 3px rgba(29,54,102,.12)}
.rp-form textarea{min-height:110px;resize:vertical}
.rp-form__note{font-size:var(--rp-fs-xs);color:var(--rp-ink-500);text-align:center}
.rp-form .rp-btn{justify-self:center}

/* =====================================================================  PERFIL DO PET (personalidade / medalhas / comandos / galeria)  */

/* ---- Painel de perfil (agrupa personalidade/medalhas/comandos) ---- */
.rp-panel{background:var(--rp-ivory-100);border:1px solid var(--rp-border);
  border-radius:var(--rp-radius-lg);padding:var(--rp-space-8);box-shadow:var(--rp-shadow-sm);
  margin-bottom:var(--rp-space-6)}
.rp-panel__head{display:flex;align-items:center;gap:var(--rp-space-3);
  margin-bottom:var(--rp-space-6)}
.rp-panel__head .rp-ico{font-size:1.4rem;color:var(--rp-gold-600)}
.rp-panel__head h2,.rp-panel__head h3{font-family:var(--rp-font-display);font-size:var(--rp-fs-xl);
  text-transform:uppercase;letter-spacing:.03em;color:var(--rp-blue-800)}

/* ---- Personalidade (barras de progresso) ---- */
.rp-traits{display:grid;gap:var(--rp-space-4)}
.rp-trait{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:var(--rp-space-4)}
.rp-trait__label{font-family:var(--rp-font-serif);font-size:1.05rem;color:var(--rp-ink-700)}
.rp-trait__track{height:12px;border-radius:var(--rp-radius-pill);background:var(--rp-ivory-200);
  overflow:hidden}
.rp-trait__bar{display:block;height:100%;border-radius:inherit;
  background:linear-gradient(90deg,var(--rp-blue-700),var(--rp-gold-500))}
@media(max-width:560px){.rp-trait{grid-template-columns:100px 1fr}}

/* ---- Medalhas (brasões em imagem) ---- */
.rp-medals{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--rp-space-4)}
/* Medalha = SÓ imagem (sem card); nome/descrição via tooltip + .rp-vh (FEAT-002). */
.rp-medal{display:inline-flex;align-items:center;justify-content:center}
.rp-medal img{width:100%;aspect-ratio:1;object-fit:contain;
  filter:drop-shadow(0 4px 10px rgba(10,20,40,.18));transition:transform var(--rp-transition)}
.rp-medal:hover img,.rp-medal:focus-within img{transform:translateY(-2px) scale(1.05)}
@media(max-width:720px){.rp-medals{grid-template-columns:repeat(3,1fr)}}

/* ---- Comandos (SÓ imagem — sem card; descrição via tooltip + .rp-vh) ----
   A imagem do comando já traz o texto 'Sentar'/'Deitar'; nada de legenda repetida nem card.
   Descrição real vai para aria-label + .rp-vh + tooltip [data-tip] (FEAT-002). */
/* Comandos no MESMO tamanho das medalhas: grid de 6 + imagem width:100% aspect-ratio 1. */
.rp-commands{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--rp-space-4)}
.rp-command{display:inline-flex;align-items:center;justify-content:center}
.rp-command img{width:100%;aspect-ratio:1;object-fit:contain;
  filter:drop-shadow(0 4px 10px rgba(10,20,40,.18));transition:transform var(--rp-transition)}
.rp-command:hover img,.rp-command:focus-within img{transform:translateY(-2px) scale(1.05)}
@media(max-width:480px){.rp-commands{grid-template-columns:1fr}}

/* ---- Título nobre com joia ---- */
.rp-pet-title{display:flex;align-items:center;gap:var(--rp-space-3);margin-block:var(--rp-space-3)}
.rp-pet-title img{width:44px;height:44px;object-fit:contain}
.rp-pet-title span{font-family:var(--rp-font-serif);font-size:1.5rem;color:var(--rp-gold-700)}

/* ---- Galeria de fotos do pet ---- */
.rp-photo-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--rp-space-4)}
/* Cada foto é um botão (abre o lightbox emoldurado) — sem aparência de botão. */
.rp-photo{padding:0;border:0;background:none;cursor:pointer;display:block;border-radius:var(--rp-radius-md);
  overflow:hidden;box-shadow:var(--rp-shadow-sm);transition:transform var(--rp-transition),box-shadow var(--rp-transition)}
.rp-photo img{width:100%;aspect-ratio:1;object-fit:cover;display:block;transition:transform 400ms ease}
.rp-photo:hover{transform:translateY(-3px);box-shadow:var(--rp-shadow-md)}
.rp-photo:hover img{transform:scale(1.05)}
.rp-photo:focus-visible{outline:2px solid var(--rp-gold-500);outline-offset:2px}
@media(max-width:720px){.rp-photo-gallery{grid-template-columns:repeat(2,1fr)}}
/* Utilitário: esconde itens além do limite (galeria >12, atualizações >5). */
.is-hidden{display:none !important}
/* 12ª foto com "pilha" de fotos atrás + contador +N, indicando que há mais. */
.rp-photo--stack{position:relative}
.rp-photo--stack::before,.rp-photo--stack::after{content:"";position:absolute;inset:0;
  border-radius:var(--rp-radius-md);background:var(--rp-ivory-100);
  box-shadow:var(--rp-shadow-sm);z-index:-1}
.rp-photo--stack::before{transform:rotate(-4deg) translate(-4px,4px)}
.rp-photo--stack::after{transform:rotate(4deg) translate(4px,4px)}
.rp-photo__more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(10,20,40,.55);color:var(--rp-ivory-50);font-family:var(--rp-font-display);
  font-size:var(--rp-fs-2xl);border-radius:var(--rp-radius-md)}

/* ---- Atualizações (diário): altura máxima + scroll vertical ---- */
.rp-updates{display:grid;gap:var(--rp-space-6);max-height:620px;overflow-y:auto;
  padding-right:var(--rp-space-2)}
.rp-updates::-webkit-scrollbar{width:8px}
.rp-updates::-webkit-scrollbar-thumb{background:var(--rp-hairline-gold);border-radius:var(--rp-radius-pill)}
.rp-updates-more{text-align:center;margin-top:var(--rp-space-6)}

/* ---- GALERIA COVERFLOW (pet): quadro anterior pequeno · foco grande · próximo pequeno ---- */
.rp-framebox{position:fixed;inset:0;z-index:200;display:none;flex-direction:column;
  align-items:center;justify-content:center;gap:var(--rp-space-6);padding:var(--rp-space-8);
  background:rgba(10,20,40,.93);backdrop-filter:blur(3px)}
.rp-framebox.is-open{display:flex}
/* trilho dos três quadros */
.rp-coverflow{display:flex;align-items:center;justify-content:center;gap:clamp(.5rem,3vw,2.5rem);
  width:100%;max-width:1100px;perspective:1600px}
.rp-coverflow .rp-pet__frame{aspect-ratio:1;filter:drop-shadow(0 24px 50px rgba(0,0,0,.6))}
/* quadro central (em foco), grande */
.rp-coverflow__center{margin:0;flex:0 0 auto}
.rp-coverflow__center .rp-pet__frame{width:min(60vw,460px);transition:transform 360ms ease}
/* quadros laterais, menores e esmaecidos, levemente rotacionados (coverflow) */
.rp-coverflow__side{flex:0 0 auto;cursor:pointer;opacity:.5;transition:opacity var(--rp-transition),transform 360ms ease}
.rp-coverflow__side:hover{opacity:.8}
.rp-coverflow__side .rp-pet__frame{width:clamp(90px,16vw,190px)}
.rp-coverflow__side--prev .rp-pet__frame{transform:rotateY(16deg) scale(.96)}
.rp-coverflow__side--next .rp-pet__frame{transform:rotateY(-16deg) scale(.96)}
/* animação de deslize ao navegar */
@keyframes rp-slide-left{from{transform:translateX(6%);opacity:.4}to{transform:translateX(0);opacity:1}}
@keyframes rp-slide-right{from{transform:translateX(-6%);opacity:.4}to{transform:translateX(0);opacity:1}}
.rp-coverflow.is-left .rp-coverflow__center{animation:rp-slide-left 360ms ease}
.rp-coverflow.is-right .rp-coverflow__center{animation:rp-slide-right 360ms ease}
/* barra inferior: legenda + botão baixar */
.rp-framebox__bar{display:flex;align-items:center;gap:var(--rp-space-6)}
.rp-framebox__cap{color:var(--rp-ivory-100);font-family:var(--rp-font-serif);font-size:1.1rem;margin:0}
.rp-framebox__dl{text-decoration:none}
.rp-framebox__dl .rp-ico{transform:rotate(90deg)}
/* controles */
.rp-framebox__close{position:absolute;top:var(--rp-space-6);right:var(--rp-space-6);
  width:52px;height:52px;display:grid;place-items:center;border:0;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.1);color:var(--rp-ivory-50);transition:background var(--rp-transition);z-index:1}
.rp-framebox__nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;
  display:grid;place-items:center;border:0;border-radius:50%;cursor:pointer;z-index:1;
  background:rgba(255,255,255,.1);color:var(--rp-ivory-50);transition:background var(--rp-transition)}
.rp-framebox__nav--prev{left:var(--rp-space-6)}
.rp-framebox__nav--next{right:var(--rp-space-6)}
.rp-framebox__close:hover,.rp-framebox__nav:hover,.rp-framebox__close:focus-visible,.rp-framebox__nav:focus-visible{
  background:var(--rp-gold-600);color:var(--rp-blue-950);outline:none}
.rp-framebox__nav .rp-ico{font-size:1.6rem}
.rp-framebox__nav--prev .rp-ico{transform:scaleX(-1)}
.rp-framebox__close .rp-ico{font-size:1.5rem}
@media(max-width:720px){
  .rp-coverflow__side{display:none}
  .rp-coverflow__center .rp-pet__frame{width:82vw}
  .rp-framebox__bar{flex-direction:column;gap:var(--rp-space-3);text-align:center}
}
@media(prefers-reduced-motion:reduce){
  .rp-coverflow.is-left .rp-coverflow__center,.rp-coverflow.is-right .rp-coverflow__center{animation:none}
}

/* =====================================================================
   SERVIÇOS — VISUAL (FEAT-003): cards com foto, carrossel, faixas coloridas
   Mais foto e cor, menos "parede de cards". Mantém a identidade heráldica. */

/* ---- FAIXAS COLORIDAS DE SEÇÃO ----
   Dão mais cor a cada seção mantendo azul real / dourado / tom quente. */
.rp-band{position:relative;overflow:hidden;isolation:isolate}
.rp-band::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--rp-damask);
  background-size:var(--rp-damask-size);opacity:.35;pointer-events:none}
.rp-band--blue{background:var(--rp-velvet);color:var(--rp-text-on-royal)}
.rp-band--blue .rp-section-head h2,.rp-band--blue h2{color:var(--rp-ivory-50)}
.rp-band--blue .rp-section-head .rp-lead{color:var(--rp-ivory-100)}
.rp-band--blue .rp-eyebrow{color:var(--rp-gold-400)}
.rp-band--gold{background:linear-gradient(180deg,var(--rp-ivory-100),var(--rp-ivory-200))}
.rp-band--gold::before{opacity:.5}
.rp-band--gold .rp-section-head h2,.rp-band--gold h2{color:var(--rp-blue-800)}
.rp-band--warm{background:linear-gradient(180deg,#f6ecd9,#efe2c6)}
.rp-band--warm .rp-section-head h2,.rp-band--warm h2{color:var(--rp-blue-800)}

/* ---- CARDS DE SERVIÇO COM FOTO (topo de /servicos) ----
   Foto grande no topo + título + descrição curta + link. Estilo da home. */
.rp-service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--rp-space-8);
  max-width:1100px;margin-inline:auto}
@media(max-width:860px){.rp-service-cards{grid-template-columns:1fr 1fr;gap:var(--rp-space-6)}}
@media(max-width:560px){.rp-service-cards{grid-template-columns:1fr}}
.rp-service-card{display:flex;flex-direction:column;color:inherit;background:var(--rp-bg-elevated);
  border:1px solid var(--rp-border);border-radius:var(--rp-radius-lg);overflow:hidden;
  box-shadow:var(--rp-shadow-sm);transition:transform var(--rp-transition),box-shadow var(--rp-transition)}
.rp-service-card:hover{transform:translateY(-4px);box-shadow:var(--rp-shadow-md)}
.rp-service-card__img{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--rp-blue-900)}
.rp-service-card__img img{width:100%;height:100%;object-fit:cover;transition:transform var(--rp-transition)}
.rp-service-card:hover .rp-service-card__img img{transform:scale(1.04)}
.rp-service-card__img::after{content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(10,20,40,.35),transparent 55%)}
.rp-service-card__body{padding:var(--rp-space-6);display:flex;flex-direction:column;gap:var(--rp-space-2);flex:1}
.rp-service-card__body h3{font-family:var(--rp-font-display);font-size:1.35rem;
  text-transform:uppercase;letter-spacing:0;color:var(--rp-blue-800)}
.rp-service-card__body p{color:var(--rp-text-muted);font-size:var(--rp-fs-sm);flex:1}
.rp-service-card__link{display:inline-flex;gap:.4rem;align-items:center;margin-top:var(--rp-space-2);
  color:var(--rp-primary);font-weight:600;font-size:var(--rp-fs-sm)}

/* ---- SERVIÇOS COM MOLDURA EM ARABESCO (home) ----
   Não é card: sem fundo/borda/sombra de bloco. A foto ganha uma moldura dourada em
   arabesco (border-image com SVG inline) e o texto fica embaixo, sobre o fundo da seção
   (claro), em cor escura para legibilidade. */
.rp-service-ornament{display:flex;flex-direction:column;align-items:center;text-align:center;
  color:inherit;gap:var(--rp-space-4)}
/* Moldura em arabesco reutilizável: aplicada à .rp-service-ornament__img (home) E, via
   .rp-ornate-frame, a qualquer imagem de serviço (carrossel, cards de rotina, etc.). */
.rp-service-ornament__img,.rp-ornate-frame{position:relative;overflow:hidden;
  /* cantos bem arredondados = cara de moldura de quadro */
  border-radius:26px;
  /* moldura dourada espessa + contorno interno arredondado (dupla linha, estilo passe-partout) */
  border:4px solid var(--rp-gold-500);
  outline:1px solid var(--rp-hairline-gold);outline-offset:5px;
  box-shadow:inset 0 0 0 2px rgba(247,243,234,.35), 0 10px 28px rgba(10,20,40,.18);
  transition:transform var(--rp-transition),box-shadow var(--rp-transition)}
.rp-service-ornament__img{width:100%;aspect-ratio:4/5}
.rp-service-ornament__img img,.rp-ornate-frame img{width:100%;height:100%;object-fit:cover;
  transition:transform var(--rp-transition)}
.rp-service-ornament:hover .rp-service-ornament__img{box-shadow:inset 0 0 0 2px rgba(247,243,234,.35), 0 16px 40px rgba(10,20,40,.26)}
.rp-service-ornament:hover .rp-service-ornament__img img{transform:scale(1.04)}
/* Arabesco nos 4 cantos: volutas douradas arredondadas que acompanham a curva da moldura.
   Uma camada (::before) com o MESMO SVG repetido nas 4 posições via multiple backgrounds;
   o espelhamento de cada canto é feito dentro do próprio SVG (grupos rotacionados). */
.rp-service-ornament__img::before,.rp-ornate-frame::before{content:"";position:absolute;inset:-3px;pointer-events:none;z-index:2;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cpath d='M6 30 C6 16 16 6 30 6' fill='none' stroke='%23d4af37' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='M14 30 C14 21 21 14 30 14' fill='none' stroke='%23d4af37' stroke-width='1.6' stroke-linecap='round' opacity='.8'/%3E%3Cpath d='M12 24 C8 24 6 21 7 17 C8 14 12 14 13 17 C14 20 11 22 9 20' fill='none' stroke='%23d4af37' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='30' cy='6' r='2.4' fill='%23d4af37'/%3E%3Ccircle cx='6' cy='30' r='2.4' fill='%23d4af37'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cg transform='scale(-1,1) translate(-60,0)'%3E%3Cpath d='M6 30 C6 16 16 6 30 6' fill='none' stroke='%23d4af37' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='M14 30 C14 21 21 14 30 14' fill='none' stroke='%23d4af37' stroke-width='1.6' stroke-linecap='round' opacity='.8'/%3E%3Cpath d='M12 24 C8 24 6 21 7 17 C8 14 12 14 13 17 C14 20 11 22 9 20' fill='none' stroke='%23d4af37' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='30' cy='6' r='2.4' fill='%23d4af37'/%3E%3Ccircle cx='6' cy='30' r='2.4' fill='%23d4af37'/%3E%3C/g%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cg transform='scale(1,-1) translate(0,-60)'%3E%3Cpath d='M6 30 C6 16 16 6 30 6' fill='none' stroke='%23d4af37' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='M14 30 C14 21 21 14 30 14' fill='none' stroke='%23d4af37' stroke-width='1.6' stroke-linecap='round' opacity='.8'/%3E%3Cpath d='M12 24 C8 24 6 21 7 17 C8 14 12 14 13 17 C14 20 11 22 9 20' fill='none' stroke='%23d4af37' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='30' cy='6' r='2.4' fill='%23d4af37'/%3E%3Ccircle cx='6' cy='30' r='2.4' fill='%23d4af37'/%3E%3C/g%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cg transform='scale(-1,-1) translate(-60,-60)'%3E%3Cpath d='M6 30 C6 16 16 6 30 6' fill='none' stroke='%23d4af37' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='M14 30 C14 21 21 14 30 14' fill='none' stroke='%23d4af37' stroke-width='1.6' stroke-linecap='round' opacity='.8'/%3E%3Cpath d='M12 24 C8 24 6 21 7 17 C8 14 12 14 13 17 C14 20 11 22 9 20' fill='none' stroke='%23d4af37' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='30' cy='6' r='2.4' fill='%23d4af37'/%3E%3Ccircle cx='6' cy='30' r='2.4' fill='%23d4af37'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;
  background-size:60px 60px,60px 60px,60px 60px,60px 60px;
  background-position:top left,top right,bottom left,bottom right}
/* sutil escurecida na base da foto para dar profundidade (não é obrigatório p/ texto) */
.rp-service-ornament__body{display:flex;flex-direction:column;gap:var(--rp-space-2);align-items:center}
.rp-service-ornament__body h3{font-family:var(--rp-font-display);font-size:1.5rem;
  text-transform:uppercase;letter-spacing:.02em;color:var(--rp-blue-800)}
.rp-service-ornament__body p{color:var(--rp-ink-700);font-size:var(--rp-fs-sm);max-width:34ch}
.rp-service-ornament__link{display:inline-flex;gap:.4rem;align-items:center;
  color:var(--rp-gold-700);font-weight:600;font-size:var(--rp-fs-sm)}
.rp-service-ornament:hover .rp-service-ornament__link{color:var(--rp-gold-600)}

/* ---- CARROSSEL (scroll-snap CSS + 2 botões, sem framework) ----
   Progressivamente aprimorado: funciona por scroll/trackpad/teclado sem JS;
   os botões apenas chamam scrollBy. Slides com foto grande + legenda. */
.rp-carousel{position:relative;margin-top:var(--rp-space-8)}
.rp-carousel__track{display:flex;gap:var(--rp-space-6);overflow-x:auto;scroll-snap-type:x mandatory;
  scroll-behavior:smooth;padding:var(--rp-space-2) var(--rp-space-1) var(--rp-space-6);
  scrollbar-width:thin;scrollbar-color:var(--rp-gold-500) transparent}
.rp-carousel__track::-webkit-scrollbar{height:8px}
.rp-carousel__track::-webkit-scrollbar-thumb{background:var(--rp-hairline-gold);border-radius:var(--rp-radius-pill)}
.rp-carousel__track::-webkit-scrollbar-track{background:transparent}
/* Slide sem "card": transparente, só a foto (com moldura em arabesco) + legenda solta. */
.rp-carousel__slide{flex:0 0 320px;scroll-snap-align:center;display:flex;flex-direction:column;
  background:transparent;border:0;box-shadow:none}
@media(max-width:560px){.rp-carousel__slide{flex-basis:82vw}}
.rp-carousel__media{aspect-ratio:4/5;overflow:hidden;background:var(--rp-blue-900)}
.rp-carousel__media img{width:100%;height:100%;object-fit:cover}
.rp-carousel__cap{padding:var(--rp-space-4) var(--rp-space-2) 0;display:flex;
  flex-direction:column;gap:.3rem;text-align:center}
/* Texto solto, com contraste conforme o fundo da faixa (claro = texto escuro). */
.rp-carousel__cap h3{font-family:var(--rp-font-serif);font-size:1.3rem;color:var(--rp-blue-800)}
.rp-carousel__cap p{font-size:var(--rp-fs-sm);color:var(--rp-ink-700)}
.rp-carousel__nav{position:absolute;top:-56px;right:0;display:flex;gap:var(--rp-space-2)}
.rp-carousel__btn{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;
  border:1px solid var(--rp-hairline-gold);background:var(--rp-bg-elevated);color:var(--rp-primary);
  cursor:pointer;box-shadow:var(--rp-shadow-sm);transition:background var(--rp-transition),transform var(--rp-transition)}
.rp-carousel__btn:hover{background:rgba(29,54,102,.06);transform:translateY(-1px)}
.rp-carousel__btn .rp-ico{font-size:1.3rem}
.rp-carousel__btn--prev .rp-ico{transform:scaleX(-1)}
.rp-band--blue .rp-carousel__btn{background:rgba(247,243,234,.12);color:var(--rp-ivory-50);
  border-color:var(--rp-hairline-gold)}
/* Faixa azul (fundo escuro): legenda em tons claros para contraste. */
.rp-band--blue .rp-carousel__cap h3{color:var(--rp-ivory-50)}
.rp-band--blue .rp-carousel__cap p{color:var(--rp-ivory-100)}

/* ---- Lista textual completa dos serviços (SEO/GEO) sob o carrossel ---- */
.rp-service-index{max-width:72ch;margin:var(--rp-space-8) auto 0}
.rp-service-index summary{cursor:pointer;font-family:var(--rp-font-serif);font-size:1.2rem;
  color:var(--rp-blue-800);text-align:center;list-style:none}
.rp-band--blue .rp-service-index summary{color:var(--rp-ivory-100)}
.rp-service-index summary::-webkit-details-marker{display:none}
.rp-service-index__list{display:grid;gap:var(--rp-space-4);margin-top:var(--rp-space-6)}
.rp-service-index__list dt{font-family:var(--rp-font-serif);font-size:1.15rem;color:var(--rp-blue-800);font-weight:600}
.rp-band--blue .rp-service-index__list dt{color:var(--rp-gold-400)}
.rp-service-index__list dd{margin:0;color:var(--rp-ink-700);font-size:var(--rp-fs-sm)}
.rp-band--blue .rp-service-index__list dd{color:var(--rp-ivory-100)}

/* ---- Foto do espaço (bloco visual largo) — reusa .rp-feature; variação clara ---- */
.rp-space-shot .rp-feature__bg::after{background:linear-gradient(90deg,rgba(10,20,40,.85),rgba(15,29,61,.55))}

/* ---- Hero de subpágina com foto grande ---- */
.rp-subhero{position:relative;overflow:hidden;isolation:isolate;color:var(--rp-text-on-royal);
  min-height:360px;display:flex;align-items:flex-end}
.rp-subhero__bg{position:absolute;inset:0;z-index:-2}
.rp-subhero__bg img{width:100%;height:100%;object-fit:cover}
.rp-subhero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(0deg,rgba(10,20,40,.9),rgba(10,20,40,.35) 70%)}
.rp-subhero__inner{padding-block:var(--rp-space-16)}
.rp-subhero h1{color:var(--rp-ivory-50);font-size:var(--rp-fs-3xl);text-transform:uppercase;
  letter-spacing:.02em;margin-top:var(--rp-space-2)}
.rp-subhero__lead{font-family:var(--rp-font-serif);font-size:1.4rem;color:var(--rp-ivory-100);
  max-width:60ch;margin-top:var(--rp-space-4)}
.rp-subhero .rp-eyebrow{color:var(--rp-gold-400)}

/* ---- Bloco alternado foto/texto (subpáginas) ---- */
.rp-split--photo .rp-split__media{aspect-ratio:4/3}
.rp-split--rev{direction:rtl}
.rp-split--rev>*{direction:ltr}
@media(max-width:860px){.rp-split--rev{direction:ltr}}
.rp-band--blue .rp-split .rp-prose,.rp-band--blue .rp-split p{color:var(--rp-ivory-100)}
.rp-band--blue .rp-split h2{color:var(--rp-ivory-50)}
.rp-band--blue .rp-checklist .rp-ico{color:var(--rp-gold-400)}
.rp-band--blue .rp-checklist li{color:var(--rp-ivory-100)}

/* ---- Catálogo: dois filtros lado a lado (RAÇA | TIPO DE TOSA) ---- */
.rp-catalog-filters{display:grid;grid-template-columns:1fr 1fr;gap:var(--rp-space-8);
  margin-bottom:var(--rp-space-12);align-items:start}
.rp-filter-group{display:flex;flex-direction:column;gap:var(--rp-space-3)}
.rp-filter-group__label{font-family:var(--rp-font-body);font-size:var(--rp-fs-xs);
  letter-spacing:.14em;text-transform:uppercase;color:var(--rp-gold-700);text-align:center}
.rp-catalog-filters .rp-chips{margin-bottom:0}
.rp-product{cursor:pointer}
@media(max-width:720px){.rp-catalog-filters{grid-template-columns:1fr;gap:var(--rp-space-6)}}

/* ---- Gaveta de filtros (mobile): desliza pela ESQUERDA ----
   Desktop pixel-idêntico: o gatilho/overlay/botão-fechar somem e o painel vira um bloco
   estático inline (sem position/transform), exibindo os filtros exatamente como antes.
   Só dentro de @media(max-width:900px) o gatilho aparece e a gaveta vira overlay. */
.rp-filter-trigger{display:none}
.rp-filter-drawer{display:contents}
.rp-filter-drawer__overlay{display:none}
.rp-filter-drawer__close{display:none}
.rp-filter-drawer__panel{display:block}
@media(max-width:900px){
  .rp-filter-trigger{display:inline-flex;align-items:center;gap:var(--rp-space-2);min-height:44px;
    padding:.6rem 1.1rem;margin-bottom:var(--rp-space-8);border-radius:var(--rp-radius-pill);
    border:1px solid var(--rp-border);background:var(--rp-bg-elevated);color:var(--rp-blue-800);
    font-family:var(--rp-font-display);letter-spacing:.03em;cursor:pointer;
    transition:border-color var(--rp-transition),color var(--rp-transition)}
  .rp-filter-trigger:hover{border-color:var(--rp-primary);color:var(--rp-primary)}
  .rp-filter-trigger .rp-ico{font-size:1.2rem}
  .rp-filter-drawer{display:none}
  .rp-filter-drawer.is-open{display:block;position:fixed;inset:0;z-index:60}
  .rp-filter-drawer__overlay{display:block;position:absolute;inset:0;background:rgba(10,20,40,.5);backdrop-filter:blur(2px)}
  .rp-filter-drawer__panel{position:absolute;top:0;left:0;height:100%;width:min(84vw,340px);
    background:var(--rp-bg,#f7f3ea);border-right:1px solid var(--rp-border);box-shadow:var(--rp-shadow-lg);
    padding:var(--rp-space-6);display:flex;flex-direction:column;gap:var(--rp-space-4);overflow:auto;
    transform:translateX(-100%);transition:transform .28s ease}
  .rp-filter-drawer.is-open .rp-filter-drawer__panel{transform:translateX(0)}
  .rp-filter-drawer__close{align-self:flex-end;width:44px;height:44px;display:grid;place-items:center;
    border:1px solid var(--rp-border);border-radius:var(--rp-radius-sm);background:transparent;
    color:var(--rp-blue-800);cursor:pointer}
  .rp-filter-drawer__close .rp-ico{font-size:1.3rem}
  .rp-filter-drawer .rp-catalog-filters{display:grid;grid-template-columns:1fr;gap:var(--rp-space-6);margin-bottom:0}
  .rp-filter-drawer .rp-chips{margin-bottom:var(--rp-space-4);justify-content:flex-start}
  .rp-filter-drawer .rp-filter-group{gap:var(--rp-space-3)}
  .rp-filter-drawer .rp-filter-group__label{text-align:left}
  /* Dentro da gaveta os chips QUEBRAM linha (wrap) e mostram todos — anula o
     rp-chips--scroll (flex-nowrap + overflow-x) que vale só na versão inline. */
  .rp-filter-drawer .rp-chips,
  .rp-filter-drawer .rp-chips--scroll{flex-wrap:wrap;overflow-x:visible;overflow-y:visible}
  .rp-filter-drawer .rp-chips--scroll .rp-chip{flex:0 1 auto;white-space:normal;scroll-snap-align:none}
}
@media(prefers-reduced-motion:reduce){.rp-filter-drawer__panel{transition:none}}

/* ---- Lightbox do catálogo (overlay escuro + imagem grande) ---- */
.rp-lightbox{position:fixed;inset:0;z-index:200;display:none;align-items:center;
  justify-content:center;padding:var(--rp-space-8);
  background:linear-gradient(180deg,rgba(10,20,40,.92),rgba(10,20,40,.96)),var(--rp-velvet-grain)}
.rp-lightbox.is-open{display:flex}
.rp-lightbox__img{max-width:min(92vw,1100px);max-height:86vh;width:auto;height:auto;
  object-fit:contain;border-radius:var(--rp-radius-md);box-shadow:var(--rp-shadow-lg);
  border:2px solid var(--rp-gold-500);outline:6px solid var(--rp-blue-800);outline-offset:-10px}
.rp-lightbox__cap{position:absolute;left:0;right:0;bottom:var(--rp-space-6);text-align:center;
  color:var(--rp-ivory-100);font-family:var(--rp-font-serif);font-size:1.1rem;padding-inline:var(--rp-space-8)}
.rp-lightbox__btn{position:absolute;display:grid;place-items:center;width:52px;height:52px;
  border-radius:var(--rp-radius-pill);border:1px solid var(--rp-hairline-gold);
  background:rgba(15,29,61,.7);color:var(--rp-ivory-100);cursor:pointer;
  transition:all var(--rp-transition)}
.rp-lightbox__btn:hover,.rp-lightbox__btn:focus-visible{background:var(--rp-blue-800);
  border-color:var(--rp-gold-500);color:var(--rp-gold-400);outline:none}
.rp-lightbox__btn .rp-ico{font-size:1.5rem}
.rp-lightbox__close{top:var(--rp-space-6);right:var(--rp-space-6)}
.rp-lightbox__nav{top:50%;transform:translateY(-50%)}
.rp-lightbox__nav--prev{left:var(--rp-space-6)}
.rp-lightbox__nav--prev .rp-ico{transform:rotate(180deg)}
.rp-lightbox__nav--next{right:var(--rp-space-6)}
@media(max-width:720px){.rp-lightbox__btn{width:44px;height:44px}
  .rp-lightbox__close{top:var(--rp-space-3);right:var(--rp-space-3)}
  .rp-lightbox__nav--prev{left:var(--rp-space-2)}.rp-lightbox__nav--next{right:var(--rp-space-2)}}

/* =====================================================================
   TABELA DE VALORES (/valores)
   ===================================================================== */
.rp-pricetable-wrap{overflow-x:auto;border-radius:var(--rp-radius-md);
  box-shadow:var(--rp-shadow-sm);border:1px solid var(--rp-border)}
.rp-pricetable{width:100%;border-collapse:collapse;background:var(--rp-white);min-width:620px}
.rp-pricetable caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.rp-pricetable th,.rp-pricetable td{padding:var(--rp-space-4) var(--rp-space-4);text-align:center;
  border-bottom:1px solid var(--rp-border)}
.rp-pricetable thead th{background:var(--rp-blue-800);color:var(--rp-ivory-50);
  font-family:var(--rp-font-body);font-size:var(--rp-fs-sm);font-weight:600;line-height:1.2;
  border-bottom:2px solid var(--rp-gold-500)}
.rp-pricetable thead th span{display:block;font-weight:400;font-size:var(--rp-fs-xs);
  color:var(--rp-gold-300);margin-top:2px}
.rp-pricetable tbody th[scope=row]{text-align:left;font-family:var(--rp-font-serif);
  font-size:1.1rem;color:var(--rp-blue-800);font-weight:600;background:var(--rp-ivory-50);
  position:sticky;left:0}
.rp-pricetable tbody td{font-family:var(--rp-font-body);font-weight:600;color:var(--rp-ink-900)}
.rp-pricetable tbody tr:nth-child(even) td{background:var(--rp-ivory-50)}
.rp-pricetable tbody tr:hover td{background:var(--rp-ivory-100)}
/* dentro de faixa azul: inverte cores para legibilidade */
.rp-band--blue .rp-pricetable{background:rgba(255,255,255,.04)}
/* 1ª coluna sticky na faixa azul: fundo OPACO (não transparente). No mobile a tabela
   rola na horizontal e as células de dados passam por baixo da coluna fixa; sem fundo
   sólido os textos se sobrepunham e ficavam ilegíveis. --rp-blue-900 casa com o veludo. */
.rp-band--blue .rp-pricetable tbody th[scope=row]{background:var(--rp-blue-900);color:var(--rp-ivory-50)}
.rp-band--blue .rp-pricetable tbody td{color:var(--rp-ivory-100)}
.rp-band--blue .rp-pricetable tbody tr:nth-child(even) td{background:rgba(255,255,255,.04)}
/* hover na faixa azul: realce claro translúcido nas td; na coluna sticky usamos uma cor
   SÓLIDA (blue-800) para manter a opacidade que oculta o conteúdo rolando por baixo. */
.rp-band--blue .rp-pricetable tbody tr:hover td{background:rgba(255,255,255,.1)}
.rp-band--blue .rp-pricetable tbody tr:hover th[scope=row]{background:var(--rp-blue-800)}
.rp-band--blue .rp-pricetable-wrap{border-color:var(--rp-hairline-gold)}

.rp-price-notes{max-width:720px;margin:var(--rp-space-6) auto 0;display:grid;gap:var(--rp-space-2);
  list-style:none;padding:0}
.rp-price-notes li{display:flex;gap:var(--rp-space-2);align-items:baseline;color:var(--rp-ink-700);
  font-family:var(--rp-font-serif);font-size:1.1rem}
.rp-price-notes li::before{content:"♦";color:var(--rp-gold-600);font-size:.8rem}
.rp-band--blue .rp-price-notes li{color:var(--rp-ivory-100)}
.rp-price-disclaimer{text-align:center;color:var(--rp-ink-500);font-size:var(--rp-fs-sm);
  margin-top:var(--rp-space-8);font-style:italic}

/* =====================================================================  CAPTURA DE LEADS  */
/* Modal reutilizável (redirect + gate) injetado em todas as páginas pelo FOOTER. Oculto
   por default via [hidden]; o JS (lead-capture.js) controla a exibição. Estilo espelha
   .rp-mobile-nav (overlay + painel role="dialog"). */
.rp-lead-modal{position:fixed;inset:0;z-index:80}
.rp-lead-modal[hidden]{display:none}
.rp-lead-modal__overlay{position:absolute;inset:0;background:rgba(10,20,40,.55);
  backdrop-filter:blur(2px)}
.rp-lead-modal__panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:min(92vw,460px);max-height:92vh;overflow-y:auto;background:var(--rp-bg,#f7f3ea);
  border:1px solid var(--rp-border);border-top:3px solid var(--rp-gold-500);
  border-radius:var(--rp-radius-md);box-shadow:var(--rp-shadow-lg);
  padding:var(--rp-space-8);display:flex;flex-direction:column;gap:var(--rp-space-4)}
.rp-lead-modal__crest{width:48px;height:48px;display:grid;place-items:center;
  color:var(--rp-gold-500);background:var(--rp-blue-800);border-radius:var(--rp-radius-sm);
  border:1px solid var(--rp-hairline-gold);align-self:center}
.rp-lead-modal__crest .rp-ico{font-size:1.6rem}
.rp-lead-modal__title{font-family:var(--rp-font-display);font-size:var(--rp-fs-xl);
  text-align:center;color:var(--rp-blue-900)}
.rp-lead-modal__lead{font-family:var(--rp-font-serif);text-align:center;
  color:var(--rp-ink-700);margin-top:calc(-1 * var(--rp-space-2))}
.rp-lead-modal__form{display:flex;flex-direction:column;gap:var(--rp-space-4)}
.rp-lead-field{display:flex;flex-direction:column;gap:var(--rp-space-1)}
.rp-lead-field label{font-family:var(--rp-font-body);font-size:var(--rp-fs-sm);
  font-weight:600;color:var(--rp-ink-700)}
.rp-lead-field input{font-family:var(--rp-font-body);font-size:var(--rp-fs-base);
  padding:.7rem .9rem;border:1px solid var(--rp-border);border-radius:var(--rp-radius-sm);
  background:var(--rp-white);color:var(--rp-ink-900);
  transition:border-color var(--rp-transition)}
.rp-lead-field input:focus-visible{outline:2px solid var(--rp-gold-400);outline-offset:1px}
.rp-lead-field input[aria-invalid="true"]{border-color:#b03a2e}
.rp-lead-error{font-family:var(--rp-font-body);font-size:var(--rp-fs-xs);color:#b03a2e;
  min-height:1em}
.rp-lead-error[hidden]{display:none}
/* Honeypot: invisível para humanos, presente para bots. */
.rp-lead-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* Link discreto "continuar sem preencher" (só no modo redirect). */
.rp-lead-skip{align-self:center;background:none;border:0;cursor:pointer;
  font-family:var(--rp-font-body);font-size:var(--rp-fs-sm);color:var(--rp-ink-500);
  text-decoration:underline;padding:var(--rp-space-1)}
.rp-lead-skip:hover{color:var(--rp-ink-700)}
.rp-lead-skip[hidden]{display:none}
.rp-lead-note{font-family:var(--rp-font-body);font-size:var(--rp-fs-xs);
  color:var(--rp-ink-500);text-align:center}
.rp-lead-note a{color:var(--rp-gold-700);text-decoration:underline}
/* Gate: o conteúdo de valor fica bloqueado até o envio. A classe is-locked e o veil são
   aplicados pelo JS no load (SEO/no-JS safe: sem JS o conteúdo aparece normal). */
.rp-lead-gate{position:relative}
.rp-lead-gate.is-locked > :not(.rp-lead-gate__veil){filter:blur(6px);pointer-events:none;
  user-select:none}
.rp-lead-gate__veil{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:var(--rp-space-4);text-align:center;
  padding:var(--rp-space-8);background:rgba(247,243,234,.72);backdrop-filter:blur(2px)}
.rp-lead-gate__veil-title{font-family:var(--rp-font-display);font-size:var(--rp-fs-lg);
  color:var(--rp-blue-900);max-width:30ch}
@media(prefers-reduced-motion:reduce){
  .rp-lead-field input{transition:none}
  .rp-lead-skip{transition:none}
}
