/* Product details, post-sale support and the workshop location. */
.hero-metrics .solutions-metric span { max-width: 230px; font-size: .875rem; }
.solutions-metric small { display: block; font-size: .75rem; font-weight: 400; margin-top: 5px; color: #bacbc0; }
.wa-float { width: 56px; height: 56px; transition: transform .2s, background .2s; }
.wa-float:hover { background: #128c4c; transform: translateY(-3px); }
.wa-float svg { display: block; }
.after-sales { background: var(--forest); color: white; padding: 88px 0; }
.after-sales-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(32px, 7vw, 90px); }
.after-sales-heading h2 { font-size: clamp(2.25rem, 4vw, 3.55rem); line-height: 1.15; }
.after-sales-heading .button { margin-top: 32px; height: auto; padding-block: 17px; line-height: 1.3; }
.after-sales-copy > p { margin: 0; color: #e0eee6; font-size: 1.125rem; }
.after-sales-copy strong { color: white; }
.after-sales-benefits { margin-top: 30px; }
.after-sales-benefits > div { display: grid; grid-template-columns: 28px 1fr; column-gap: 15px; border-top: 1px solid #ffffff35; padding: 22px 0; }
.after-sales-benefits > div:last-child { padding-bottom: 0; }
.after-sales-benefits span { color: #9cdbb5; font-size: .875rem; grid-row: 1 / span 2; padding-top: 3px; }
.after-sales-benefits h3 { font-size: 1.125rem; line-height: 1.4; letter-spacing: -.015em; }
.after-sales-benefits p { grid-column: 2; color: #c7dfd0; margin: 8px 0 0; }
#postventa, #contacto, #servicio, #productos { scroll-margin-top: 24px; }
.location-block { margin-top: 66px; display: grid; grid-template-columns: .8fr 1.2fr; background: white; border: 1px solid var(--line); }
.location-copy { padding: clamp(26px, 4vw, 46px); }
.location-copy .section-kicker { margin-bottom: 20px; font-size: .875rem; }
.location-copy h3 { font-size: clamp(2rem, 3vw, 2.75rem); line-height: 1.15; }
.location-copy address { font-style: normal; margin: 25px 0 0; font-weight: 600; }
.location-copy p { color: #59645c; margin: 14px 0 26px; }
.location-map { min-width: 0; min-height: 430px; background: #e2e9e3; }
.location-map iframe { display: block; width: 100%; height: 100%; min-height: 430px; border: 0; }
.catalog-card { position: relative; cursor: pointer; }
.catalog-card:focus-within { outline: 3px solid #91d3ab; outline-offset: 4px; }
.catalog-card small { font-size: .75rem; line-height: 1.4; }
.catalog-card p { font-size: 1rem; }
.catalog-detail { border: 0; padding: 0; margin: auto 19px 0; text-align: left; background: transparent; color: #9bd8b3; font-size: .875rem; font-weight: 700; cursor: pointer; }
.catalog-detail span { margin: 0 0 0 7px; font-size: inherit; color: inherit; }
.catalog-detail::after { content: ''; position: absolute; inset: 0; }
.catalog-detail:focus-visible { outline: none; }
.catalog-title { gap: 20px; }
.catalog-title > span { flex-shrink: 0; }
#product-dialog { width: min(1100px, calc(100% - 40px)); max-height: min(900px, 92dvh); overflow-y: auto; overscroll-behavior: contain; color: var(--ink); }
body.product-open { overflow: hidden; }
.modal-layout { grid-template-columns: .85fr 1.15fr; min-height: 0; align-items: start; }
.modal-media { background: white; position: sticky; top: 0; padding: 62px 26px 25px; }
.modal-media img, .modal-media img.contain { display: block; width: 100%; height: 340px; padding: 12px; object-fit: contain; background: white; }
.modal-image-note { font-size: .875rem; color: #617267; text-align: center; border-top: 1px solid #e3e9e4; padding-top: 22px; margin: 22px 0 0; }
.modal-copy { padding: 62px clamp(24px, 4vw, 46px) 40px; overflow: visible; }
.modal-copy small { font-size: .75rem; line-height: 1.6; display: block; }
.modal-copy h2 { font-size: clamp(1.8rem, 3vw, 2.7rem); line-height: 1.15; overflow-wrap: anywhere; }
.modal-copy .lead { font-size: 1.125rem; color: #354c3e; }
.product-description p { color: #57625b; margin: 18px 0; }
.modal-copy .modal-subtitle { font-size: 1.125rem; line-height: 1.4; letter-spacing: -.015em; margin-top: 28px; }
.modal-copy .product-points { margin: 16px 0 24px; }
.product-support { background: #e7eee8; border-left: 3px solid var(--leaf); padding: 18px 20px; }
.product-support strong { color: #244d35; }
.product-support p { color: #54615a; margin: 6px 0 0; }
.modal-copy .product-inquiry { display: flex; margin-top: 24px; min-height: 54px; padding-block: 17px; line-height: 1.4; }
.modal-close { position: sticky; display: block; top: 12px; margin: 12px 12px -54px auto; width: 42px; height: 42px; background: white; border: 1px solid #d8e1d9; border-radius: 50%; box-shadow: 0 3px 12px #13271a1a; line-height: 1; color: #163e28; }
@media (max-width: 1060px) and (min-width: 861px) {
  .site-header { gap: 20px; }
  nav { gap: 20px; }
  .header-cta { font-size: .8rem; padding-inline: 12px; gap: 9px; }
}
@media (max-width: 860px) {
  .after-sales-grid, .location-block { grid-template-columns: 1fr; }
  .hero-metrics { display: grid; grid-template-columns: auto auto 1fr; gap: 16px; }
  .hero-metrics div { margin: 0; flex-direction: column; align-items: flex-start; gap: 4px; }
  .hero-metrics span, .hero-metrics .solutions-metric span { font-size: .75rem; max-width: 170px; }
  .hero-metrics .solutions-metric strong { font-size: 1.5rem; }
  .solutions-metric small { font-size: .75rem; }
  .hero { min-height: 800px; }
  .hero-content { padding-top: 0; padding-bottom: 35px; }
  .location-map, .location-map iframe { min-height: 350px; height: 350px; }
  #product-dialog { width: calc(100% - 24px); max-height: 94dvh; }
  .modal-layout { display: block; }
  .modal-media { position: static; height: auto; padding: 48px 20px 0; }
  .modal-media img, .modal-media img.contain { height: 250px; }
  .modal-image-note { margin: 10px 0 0; padding: 14px 0; }
  .modal-copy { padding: 26px 24px 32px; }
}
@media (max-width: 580px) {
  .after-sales { padding: 60px 0; }
  .after-sales-copy > p { font-size: 1rem; }
  .location-block { margin-top: 42px; }
  .catalog-title { flex-direction: column; align-items: flex-start; gap: 12px; }
  .catalog-card h4 { font-size: 1rem; }
  .catalog-detail { margin-top: 12px; }
  .catalog-card small { padding-inline: 14px; }
  .catalog-card h4, .catalog-detail { margin-inline: 14px; }
  .wa-float { right: 16px; bottom: 16px; }
}
@media (max-width: 360px) {
  .catalog-grid { grid-template-columns: 1fr; }
  .catalog-card img { height: 220px; }
  .hero { min-height: 910px; }
}
.modal-gallery { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 16px; }
.modal-gallery[hidden], .product-highlight[hidden] { display: none; }
.gallery-thumbnail { width: 140px; max-width: calc(50% - 6px); border: 1px solid #d7e1d9; padding: 6px; border-radius: 3px; background: white; color: #526459; cursor: pointer; }
.gallery-thumbnail[aria-pressed="true"] { border-color: var(--leaf); box-shadow: 0 0 0 1px var(--leaf); color: var(--forest); background: #edf4ee; }
.modal-media .modal-gallery img { display: block; width: 100%; height: 72px; padding: 2px; object-fit: contain; background: white; }
.gallery-thumbnail span { display: block; margin-top: 5px; font-size: .875rem; line-height: 1.4; }
.product-highlight { padding: 20px; margin: 24px 0; border: 1px solid #b8d4bd; border-left: 4px solid var(--leaf); background: #e6f1e8; color: #234f35; }
.product-highlight strong { display: block; font-size: 1.125rem; line-height: 1.4; }
.product-highlight p { margin: 8px 0 0; }
