/* Contain off-screen content while preserving the existing identity. */
html { scroll-behavior: smooth; scroll-padding-top: 150px; }
body { min-width: 320px; }
img { max-width: 100%; height: auto; }
a:focus-visible, button:focus-visible { outline: 3px solid #00789f; outline-offset: 5px; }
button { font: inherit; appearance: none; -webkit-appearance: none; }
.logo img, .footer-logo img { width: auto; object-fit: contain; }
.hero-slide { pointer-events: none; visibility: hidden; }
.hero-slide.active { pointer-events: auto; visibility: visible; }
.voce-sabia-section { overflow: clip; }
.voce-sabia-card, .voce-sabia-card.from-right { opacity: 1; transform: none; }
.voce-sabia-card.reveal-ready { opacity: 0; transform: translateX(-160px); transition: opacity 1s ease, transform 1s ease; }
.voce-sabia-card.reveal-ready.from-right { transform: translateX(160px); }
.voce-sabia-card.reveal-ready.visible { opacity: 1; transform: translateX(0); }
.slider-pause { position: absolute; bottom: 14px; right: 100px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid #ffffff80; color: white; background: #0008; cursor: pointer; }
.slider-indicators { align-items: center; bottom: 12px; gap: 0; }
button.indicator { display: grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 0; background: transparent; opacity: 1; }
button.indicator::after { content: ''; width: 10px; height: 10px; border: 2px solid white; border-radius: 50%; opacity: .6; }
button.indicator.active::after { background: white; opacity: 1; }
.material-card .material-content { padding: 16px 18px 20px; }
.material-content h3 a { color: inherit; text-decoration: none; }
.material-content h3 a:hover { text-decoration: underline; }
.material-card:focus-within .material-overlay { opacity: 1; }
.material-more { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; color: #006a91; font-weight: 600; }
.btn-cta, .btn-material { color: #072b3d; }
.contact-info-card, .footer-content > *, .material-card { min-width: 0; overflow-wrap: anywhere; }
.product-hero { position: relative; min-height: 580px; display: flex; align-items: flex-end; color: #fff; background: #122d37; }
.product-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.product-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,#000d,#0005); }
.product-hero .container { position: relative; z-index: 1; width: 100%; padding-top: 170px; padding-bottom: 60px; }
.product-hero h1 { font-size: 42px; max-width: 850px; margin: 24px 0 18px; line-height: 1.15; }
.product-hero p { max-width: 760px; line-height: 1.7; margin-bottom: 24px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 12px; font-size: 14px; }
.breadcrumbs a { color: white; }
.product-details { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; padding-top: 56px; padding-bottom: 56px; line-height: 1.8; }
.product-details h2 { font-size: 26px; margin-bottom: 16px; line-height: 1.25; }
.product-details ul { padding-left: 22px; }
.product-details li { margin: 8px 0; }
.product-details p { margin-bottom: 16px; }
.product-related { padding: 36px 16px 56px; border-top: 1px solid #ddd; }
.product-related nav { display: flex; flex-wrap: wrap; gap: 16px 28px; margin-top: 20px; }
.product-related a { color: #006a91; }
.error-content { min-height: 75vh; padding-top: 210px; padding-bottom: 70px; }
.error-content p { margin: 20px 0; }
@media(max-width:768px) {
  html { scroll-padding-top: 165px; }
  .hero-title { font-size: 30px; }
  .hero-content { width: 100%; min-width: 0; padding: 0 50px; }
  .slider-control.prev { left: 8px; }
  .slider-control.next { right: 8px; }
  .materials-grid { grid-template-columns: minmax(0,1fr); }
  .product-hero h1 { font-size: 32px; overflow-wrap: anywhere; }
  .product-hero .container { padding-top: 180px; padding-bottom: 36px; }
  .product-details { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .slider-pause { right: 20px; }
  .whatsapp-float { width: 52px; height: 52px; right: 16px; bottom: 18px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
  /* The owner explicitly requests the lateral reveal on these four cards. */
  .voce-sabia-card.reveal-ready { transition: opacity 1s ease, transform 1s ease !important; }
}
