/* Shared logo sizing — override in css_personalizado, e.g.:
   :root { --pt-logo-top-size: 64px; --pt-logo-footer-size: 48px; }
   .pt-logo-top { opacity: 1; }
   .pt-logo-footer { opacity: 0.85; }
*/
.pt-logo-top{
  max-height:var(--pt-logo-top-size,52px);
  max-width:var(--pt-logo-top-max-width,220px);
  width:auto;height:auto;display:block;object-fit:contain;
}
.pt-logo-footer{
  max-height:var(--pt-logo-footer-size,42px);
  max-width:var(--pt-logo-footer-max-width,280px);
  width:auto;height:auto;display:block;object-fit:contain;
}
.pt-phone{
  display:inline-flex;align-items:center;gap:.45rem;
  text-decoration:none;
  font-size:1.05rem!important;
  font-weight:700!important;
}
.pt-phone i{flex-shrink:0}

/* Scroll-down chevron on hero / video sections */
.pt-scroll-hint{
  position:absolute;left:0;right:0;bottom:0;z-index:6;
  display:flex;justify-content:center;align-items:center;
  padding-bottom:clamp(1rem,3vh,1.75rem);
  text-decoration:none;
  color:#fff;
  font-size:clamp(1.35rem,3.5vw,1.85rem);line-height:1;
  opacity:1;transition:opacity .25s ease,transform .25s ease;
  text-shadow:0 0 12px rgba(255,255,255,.65),0 0 24px rgba(255,255,255,.35);
  animation:pt-scroll-hint-bounce 2.2s ease-in-out infinite;
}
.pt-scroll-hint:hover,.pt-scroll-hint:focus-visible{
  opacity:1;outline:none;
  text-shadow:0 0 16px rgba(255,255,255,.85),0 0 32px rgba(255,255,255,.45);
}
.pt-scroll-hint i{
  filter:drop-shadow(0 0 6px rgba(255,255,255,.75)) drop-shadow(0 2px 6px rgba(0,0,0,.35));
  -webkit-text-stroke:.6px rgba(255,255,255,.9);
}
.pt-hero:has(.pt-scroll-hint) .pt-hero-inner{padding-bottom:5.5rem}
.pt-video-hero:has(.pt-scroll-hint){padding-bottom:5rem}
@keyframes pt-scroll-hint-bounce{
  0%,100%{transform:translateY(0);opacity:1}
  50%{transform:translateY(9px);opacity:1}
}
@media (prefers-reduced-motion:reduce){
  .pt-scroll-hint{animation:none}
}

/* Upward horizontal shadow above footer (like /start shadow on white section) */
.pt-footer,
.pt-footer-dark{
  position:relative;
  z-index:2;
  box-shadow:0 -10px 22px rgba(0,0,0,.22);
}
.pt-scroll-panel .pt-footer-dark{
  box-shadow:0 -12px 24px rgba(0,0,0,.26);
}

/* Inline social block in content — no top rule or shadow above icons */
.pt-actions .pt-footer,
.pt-actions .pt-footer-dark{
  border-top:none;
  box-shadow:none;
  background:transparent;
  padding:0;
  margin:0;
}
.pt-actions .pt-social-row{
  margin-top:0;
}

/* Horizontal ad banner slot — hidden until HTML is injected (config or custom CSS) */
.pt-footer-ad{
  width:100%;
  max-width:728px;
  margin:0 auto 1rem;
  padding:0 clamp(1rem,4vw,2rem);
}
.pt-footer-ad[hidden]{display:none !important}
.pt-footer-ad:not([hidden]){display:block}
.pt-footer-ad-inner{
  width:100%;
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.pt-footer-ad-inner img,
.pt-footer-ad-inner iframe,
.pt-footer-ad-inner a{
  max-width:100%;
  display:block;
}
.pt-footer-ad-inner img{height:auto}
.pt-footer-dark .pt-footer-ad{margin-bottom:.85rem}
