/* Page-specific overrides, loaded after each page's existing styles. */
.rh-page .section-title .page-title {
  margin: 0;
  font-size: clamp(22px, 2.3vw, 30px);
  line-height: 1.25;
  letter-spacing: -.4px;
}

@media (max-width: 991px) {
  .home-page .InfoEmpresa > .row {
    margin-left: 0;
    margin-right: 0;
    padding-left: 20px;
    padding-right: 20px;
  }
  .home-page .InfoEmpresa > .row > .col-sm-6 {
    width: 100%;
    float: none;
    padding-left: 0;
    padding-right: 0;
    text-align: left;
  }
  .home-page .InfoEmpresa > .row > .col-sm-6:not(.wow) { display: none; }
  .home-page .InfoEmpresa > .row p { margin-bottom: 0; }
  .home-page .InfoEmpresa > .row br { display: none; }
  .home-page .InfoEmpresa > .row + .row { margin-top: 28px; }
}

@media (max-width: 375px) {
  .home-page .InfoEmpresa > .row { padding-left: 16px; padding-right: 16px; }
}

@media (max-width: 920px) {
  .rh-page .cta-grid { grid-template-columns: minmax(0, 1fr); }
  .rh-page header .nav { flex-wrap: wrap; gap: 12px; }
  .rh-page header .brand { flex: 1 1 180px; min-width: 0; }
  .rh-page header .brand-badge { flex-shrink: 0; }
}

@media (max-width: 767px) {
  .home-page .container, .design-page .container {
    padding-left: 20px;
    padding-right: 20px;
  }
  .home-page .row, .design-page .row { margin-left: -15px; margin-right: -15px; }
  .home-page section, .design-page section { padding-top: 48px; padding-bottom: 48px; }
  .home-page #team { padding: 48px 0 0; }
  .home-page #portfolio { padding: 48px 0 0; }
  .home-page #portfolio .portfolio-grid { margin: 0; }
  .home-page #about p { padding: 0; }
  .home-page header .item .header-text { width: 100%; padding: 0 20px; }
  .home-page .textoSlider { font-size: clamp(24px, 6vw, 36px); padding-bottom: 24px; letter-spacing: .06em; }
  .home-page p.title { padding: 16px 0; }
  .home-page .subTitulo, .design-page .subTitulo { font-size: 28px; line-height: 1.25; }
  .home-page .btn, .design-page .btn { max-width: 100%; white-space: normal; padding: 12px 16px; }
  .home-page .site-footer, .design-page .site-footer { padding: 40px 0 80px; }
  .home-page .footer-brand, .home-page .footer-links,
  .design-page .footer-brand, .design-page .footer-links { margin-bottom: 24px; }
  .home-page .site-footer a, .design-page .site-footer a { padding: 0; overflow-wrap: anywhere; }
  .home-page .footer-item a, .design-page .footer-item a { min-width: 0; }
  .design-page #hero-landing { min-height: 0; padding: 132px 0 48px; }
  .design-page #hero-landing .hero-shell { padding: 24px 16px; }
  .design-page .hero-cta-row { gap: 12px; }
  .design-page .hero-cta-row .btn { width: 100%; min-width: 0; }
  .design-page .stepper-card { padding: 20px 16px; }
  .design-page .stepper-head, .design-page .stepper-actions { flex-wrap: wrap; gap: 16px; }
  .design-page .stepper-track { flex-wrap: wrap; gap: 8px; }
  .design-page textarea { margin: 16px 0; padding: 12px; }
  .design-page .whatsapp-float { bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }

  .rh-page .container { width: min(var(--max), calc(100% - 32px)); }
  .rh-page section { padding: 32px 0; }
  .rh-page .hero { padding: 36px 0 28px; }
  .rh-page .hero-grid, .rh-page .two-col, .rh-page .showcase,
  .rh-page .grid-3, .rh-page .pricing, .rh-page .compare,
  .rh-page .doc-steps, .rh-page .footer-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .rh-page .hero-grid > *, .rh-page .showcase > *, .rh-page .cta-grid > * { min-width: 0; }
  .rh-page .section-title { flex-wrap: wrap; align-items: flex-start; gap: 12px; }
  .rh-page .hero-actions { flex-wrap: wrap; gap: 12px; }
  .rh-page .hero-actions .btn { width: 100%; }
  .rh-page .cta { padding: 24px 16px; }
  .rh-page .price { padding: 20px 16px; }
  .rh-page .acc-title { padding: 16px; gap: 12px; }
  .rh-page .chev { flex-shrink: 0; }
  .rh-page .acc-body { padding: 0 16px 16px; overflow-wrap: anywhere; }
  .rh-page .btn { white-space: normal; max-width: 100%; }
  .rh-page footer { padding: 28px 0; }

  .travels-page header { padding: 32px 16px; }
  .travels-page .container { padding: 24px 16px; }
  .travels-page .product-details { padding: 24px 16px; }
  .travels-page .features, .travels-page .spec-grid,
  .travels-page .specs-overview .spec-grid, .travels-page .extras-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  .travels-page .product-card { margin-bottom: 16px; }
  .travels-page .cta-button, .travels-page .secondary-button { max-width: 100%; padding: 12px 20px; }
  .travels-page .extras-modal, .travels-page .image-modal { padding: 16px; }
  .travels-page .extras-modal-content { padding: 20px 16px; }
  .travels-page footer { padding: 24px 16px; margin-top: 16px; }
}
