/* Technical and ordering sections, used only by the six duct catalogue pages. */
.rio-ducts { color:#173f52; }
.rio-ducts *, .rio-ducts *::before, .rio-ducts *::after { box-sizing:border-box; }
.rio-ducts > p { margin:0 0 30px; color:#49616c; font-size:16px; line-height:1.7; }
.rio-ducts .rio-ducts-hero { display:grid; grid-template-columns:minmax(0,1fr) 240px; align-items:center; gap:26px; padding:38px; }
.rio-ducts .rio-ducts-hero h1 { font-size:36px; overflow-wrap:break-word; }
.rio-ducts .rio-ducts-hero .rio-semantic-facts { grid-template-columns:1fr; gap:7px; margin:20px 0; }
.rio-ducts .rio-ducts-hero .rio-semantic-facts li { padding:9px 12px; }
.rio-ducts-hero-image { display:block; width:100%; height:230px; object-fit:contain; border-radius:16px; background:#fff; }
.rio-ducts-toc { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px; }
.rio-ducts-toc a { border:1px solid #ccdfdf; border-radius:24px; padding:9px 15px; color:#1c596b; background:#f3f8f8; font-size:14px; line-height:1.4; text-decoration:none; }
.rio-ducts-toc a:hover { border-color:#16836f; background:#e8f4f0; }
.rio-ducts-section { margin:0 0 38px; padding:30px; border:1px solid #d8e7e9; border-radius:16px; background:#fff; scroll-margin-top:110px; }
.rio-ducts-section > header { margin:0 0 20px; }
.rio-ducts-section h2 { margin:0; color:#173f52; font-size:27px; font-weight:800; line-height:1.22; overflow-wrap:break-word; }
.rio-ducts-section h3 { margin:0 0 10px; color:#173f52; font-size:18px; font-weight:700; line-height:1.35; }
.rio-ducts-section p { margin:0 0 18px; color:#49616c; font-size:15px; line-height:1.7; }
.rio-ducts-section p:last-child { margin-bottom:0; }
.rio-ducts-section a { color:#126575; text-decoration:underline; text-underline-offset:3px; }
.rio-ducts-section a:hover { color:#0d5043; }
.rio-ducts-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.rio-ducts-card { min-width:0; padding:20px; border:1px solid #dce8e8; border-radius:12px; background:#f7faf9; }
.rio-ducts-card p { font-size:14px; }
.rio-ducts-table { max-width:100%; overflow:auto; margin:0 0 20px; border:1px solid #d8e7e9; border-radius:10px; -webkit-overflow-scrolling:touch; }
.rio-ducts-table:focus-visible { outline:3px solid #16836f; outline-offset:3px; }
.rio-ducts-table table { width:100%; min-width:570px; margin:0; border-collapse:collapse; color:#294c5b; background:#fff; font-size:14px; line-height:1.5; }
.rio-ducts-table caption { caption-side:top; padding:14px 16px; color:#214758; background:#edf5f4; text-align:left; font-size:14px; font-weight:700; }
.rio-ducts-table th, .rio-ducts-table td { padding:13px 15px; border-bottom:1px solid #e0eaea; vertical-align:top; text-align:left; white-space:normal; }
.rio-ducts-table thead th { color:#fff; background:#1c4c60; font-weight:700; }
.rio-ducts-table tbody th { font-weight:600; }
.rio-ducts-table tbody tr:nth-child(even) { background:#f5f9f9; }
.rio-ducts-table tbody tr:last-child > * { border-bottom:0; }
.rio-ducts-drawings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:20px; }
.rio-ducts-drawing { max-width:670px; margin:24px auto 0; border:1px solid #d5e3e8; border-radius:12px; overflow:hidden; background:#fff; }
.rio-ducts-drawings .rio-ducts-drawing { width:100%; margin:0; }
.rio-ducts-drawing > a { display:block; }
.rio-ducts-drawing img { display:block; width:100%; height:auto; }
.rio-ducts-drawing figcaption { padding:14px 16px; color:#49616c; font-size:13px; line-height:1.6; }
.rio-ducts-drawing figcaption a { display:inline-block; }
.rio-ducts-section .rio-ducts-note { padding:16px 18px; border-left:3px solid #16836f; border-radius:0 8px 8px 0; color:#3d5d66; background:#edf6f3; font-size:14px; }
.rio-ducts-example { margin-top:20px; padding:22px; border-radius:12px; background:#eef5fa; }
.rio-ducts-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.rio-ducts-links a { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:15px 18px; border:1px solid #d8e7e9; border-radius:10px; background:#f8fbfb; font-weight:700; text-decoration:none; }
.rio-ducts-contact { display:flex; justify-content:space-between; align-items:center; gap:25px; margin-top:22px; padding-top:22px; border-top:1px solid #d8e7e9; }
.rio-ducts-contact p { min-width:0; margin:0; overflow-wrap:anywhere; }
.rio-ducts-section .rio-ducts-button { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; max-width:100%; min-height:48px; padding:13px 20px; border-radius:8px; color:#fff; background:#116a5a; font-size:14px; font-weight:700; line-height:1.45; text-align:center; text-decoration:none; }
.rio-ducts-section .rio-ducts-button:hover { color:#fff; background:#0d5548; }
.rio-ducts a:focus-visible { outline:3px solid #16836f; outline-offset:3px; }
@media(max-width:991px) {
 .rio-ducts .rio-ducts-hero { grid-template-columns:minmax(0,1fr) 180px; gap:20px; padding:28px; }
 .rio-ducts .rio-ducts-hero h1 { font-size:30px; }
 .rio-ducts-hero-image { height:190px; }
 .rio-ducts-cards { grid-template-columns:1fr; gap:12px; }
 .rio-ducts-contact { align-items:stretch; flex-direction:column; gap:18px; }
}
@media(max-width:767px) {
 .rio-ducts .rio-ducts-hero { display:flex; flex-direction:column; align-items:stretch; padding:24px 20px; }
 .rio-ducts .rio-ducts-hero h1 { font-size:27px; }
 .rio-ducts-hero-image { width:100%; max-width:360px; height:180px; margin:auto; }
 .rio-ducts-section { margin-bottom:26px; padding:22px 16px; border-radius:12px; }
 .rio-ducts-section h2 { font-size:23px; }
 .rio-ducts-section p, .rio-ducts > p { font-size:14px; }
 .rio-ducts-drawings, .rio-ducts-links { grid-template-columns:1fr; }
 .rio-ducts-card, .rio-ducts-example { padding:17px; }
 .rio-ducts-table table { font-size:13px; }
 .rio-ducts-table th, .rio-ducts-table td { padding:11px 12px; }
 .rio-ducts-toc { gap:7px; }
 .rio-ducts-toc a { padding:8px 12px; font-size:13px; }
}

/* Section headings scroll with their content; only the global site header sticks. */
.rio-ducts header:not(.ev-faq__header) {
  position: static;
  top: auto;
  z-index: auto;
  border-bottom: 0;
  background: transparent;
  box-shadow: none;
  transition: none;
}
