/* Fase 7: ajustes visuales finales desktop/móvil sin alterar la gráfica base de la plantilla */
html, body {
  overflow-x: hidden;
}
img, svg, video, iframe {
  max-width: 100%;
}
.cs_site_branding img,
.cs_footer_info img {
  width: 90px;
  height: auto;
  object-fit: contain;
}
.cs_main_header_in {
  min-height: 78px;
}
.cs_nav_list a,
.cs_footer_nav a,
.cs_footer_contact_list a {
  text-decoration: none;
}
.cs_section_title,
.cs_section_title_3,
.cs_portfolio_title,
.cs_blog_title {
  overflow-wrap: anywhere;
}
.dpw-section-note,
.cs_blog_subtitle,
.cs_portfolio_subtitle {
  overflow-wrap: break-word;
}
.cs_blog.cs_style_1,
.cs_portfolio.cs_style_1,
.dpw-case-card {
  height: 100%;
}
.cs_blog.cs_style_1 img,
.cs_portfolio_img img {
  width: 100%;
  object-fit: cover;
  display: block;
}
.cs_blog.cs_style_1 img {
  aspect-ratio: 4 / 3;
}
.cs_portfolio_img img {
  aspect-ratio: 4 / 3;
}
.cs_portfolio_info {
  max-width: calc(100% - 48px);
}
.cs_portfolio_subtitle {
  line-height: 1.45;
}
.cs_learning_project .cs_section_heading {
  gap: 24px;
}
.cs_learning_project .cs_section_heading_right {
  flex-shrink: 0;
}
.cs_btn.cs_style_1 {
  white-space: normal;
  text-align: center;
}
.cs_btn.cs_style_1 span {
  line-height: 1.25;
}
.dpw-contact-map-card iframe,
.cs_google_map iframe {
  width: 100%;
  border: 0;
  display: block;
}
.dpw-contact-info-row {
  row-gap: 16px;
}
.dpw-contact-info-card a {
  overflow-wrap: anywhere;
}
.dpw-select-field select.cs_input_field {
  width: 100%;
}
textarea.cs_input_field {
  resize: vertical;
}
.cs_footer_contact_list li {
  overflow-wrap: anywhere;
}
.whatsapp-float {
  cursor: pointer;
}
@media (min-width: 992px) {
  .cs_horizontal_scrolls .swiper-slide {
    width: auto;
  }
  .cs_portfolio.cs_style_1 {
    min-height: 520px;
  }
}
@media (max-width: 1199px) {
  .cs_section_title {
    font-size: clamp(42px, 7vw, 78px);
  }
  .cs_section_title_3 {
    font-size: clamp(28px, 4vw, 46px);
  }
}
@media (max-width: 991px) {
  .cs_main_header_in {
    min-height: 70px;
  }
  .cs_site_header .container,
  .cs_main_header .container {
    padding-left: 18px;
    padding-right: 18px;
  }
  .cs_learning_project .cs_section_heading {
    align-items: flex-start;
  }
  .cs_learning_project .cs_section_heading_right,
  .cs_learning_project .cs_btn {
    width: 100%;
  }
  .cs_learning_project .cs_btn {
    justify-content: center;
  }
  .cs_horizontal_scroll_wrap {
    overflow: hidden;
  }
  .cs_portfolio.cs_style_1 {
    min-height: 420px;
  }
  .cs_portfolio_info {
    max-width: calc(100% - 34px);
  }
  .cs_footer_nav {
    padding-left: 0;
  }
}
@media (max-width: 767px) {
  body {
    font-size: 16px;
  }
  .cs_section_title {
    font-size: clamp(34px, 10vw, 48px);
    line-height: 1.08;
  }
  .cs_section_title_3,
  .cs_portfolio_title {
    font-size: clamp(24px, 7vw, 34px);
    line-height: 1.12;
  }
  .dpw-section-note,
  .cs_blog_subtitle,
  .cs_portfolio_subtitle {
    font-size: 16px;
    line-height: 1.65;
  }
  .cs_height_219 {
    height: 112px !important;
  }
  .cs_height_190 {
    height: 108px !important;
  }
  .cs_height_150,
  .cs_height_145,
  .cs_height_120,
  .cs_height_100,
  .cs_height_90,
  .cs_height_80 {
    height: 48px !important;
  }
  .row > [class*="col-"] + [class*="col-"] {
    margin-top: 26px;
  }
  .cs_blog.cs_style_1,
  .cs_portfolio.cs_style_1 {
    border-radius: 22px;
    overflow: hidden;
  }
  .cs_portfolio.cs_style_1 {
    min-height: 360px;
  }
  .cs_portfolio_info {
    left: 20px;
    right: 20px;
    bottom: 22px;
    max-width: calc(100% - 40px);
  }
  .cs_portfolio_subtitle {
    font-size: 14px;
  }
  .cs_blog_info {
    padding-left: 0;
    padding-right: 0;
  }
  .cs_from,
  .dpw-contact-panel,
  .dpw-contact-map-card,
  .dpw-contact-info-card,
  .dpw-next-step-card {
    border-radius: 20px;
  }
  .cs_input_field,
  select.cs_input_field,
  textarea.cs_input_field {
    font-size: 16px !important;
  }
  .dpw-contact-map-card iframe,
  .cs_google_map iframe {
    min-height: 300px;
  }
  .cs_footer {
    border-top-left-radius: 26px;
    border-top-right-radius: 26px;
  }
  .cs_footer_info p {
    margin-top: 18px;
  }
  .cs_footer_nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
    text-align: left;
  }
  .cs_footer_nav li,
  .cs_footer_nav a {
    width: 100%;
  }
  .cs_footer_contact_list {
    padding-left: 0;
  }
  .whatsapp-float {
    right: 16px !important;
    bottom: 18px !important;
    width: 58px !important;
    height: 58px !important;
    padding: 0 !important;
  }
  .whatsapp-float img {
    width: 26px !important;
    height: 26px !important;
  }
  .cs_scrollup {
    display: none !important;
  }
}
@media (max-width: 420px) {
  .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .cs_btn.cs_style_1 {
    width: 100%;
    justify-content: center;
  }
  .cs_portfolio.cs_style_1 {
    min-height: 330px;
  }
  .cs_portfolio_title {
    font-size: 24px;
  }
}
