/* Native product catalog: photographs, readable text and product details. */
body.catalog-mode main > :not(.web-catalog) { display:none; }
.web-catalog.catalog-view { background:#f4f6f8; color:#171c23; padding:0 0 80px; min-height:80vh; }
.catalog-banner { padding:30px 0 0; background:linear-gradient(115deg,rgba(12,16,21,.99),rgba(12,16,21,.92)),url('llamas.jpg') center/cover; color:white; }
.catalog-return { display:inline-block; margin-bottom:38px; font-size:.875rem; color:#c9cdd2; border-bottom:1px solid #6d7279; padding-bottom:3px; }
.catalog-return:hover { color:white; }
.catalog-banner .eyebrow { color:#ffb39b; margin-bottom:14px; }
.catalog-banner h2 { font-size:clamp(2rem,4.2vw,3.4rem); line-height:1.13; letter-spacing:-.04em; margin:0 0 18px; max-width:850px; outline:none; }
.catalog-banner #catalogIntro { max-width:670px; color:#c7cdd4; margin-bottom:32px; line-height:1.7; }
.category-nav { display:flex; flex-wrap:wrap; gap:8px 28px; }
.category-nav a { padding:16px 0; border-bottom:3px solid transparent; color:#b9c0c9; font-size:.925rem; font-weight:700; }
.category-nav a[aria-current="page"] { color:white; border-bottom-color:#ff494f; }
.category-nav a:hover { color:white; }
.catalog-content { padding-top:30px; }
.gallery-summary { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.gallery-summary p { margin:0; color:#66707b; font-size:.875rem; }
.download-catalog { color:#9f1822; font-size:.875rem; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.family-nav { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 32px; }
.family-nav[hidden] { display:none; }
.family-nav button { border:1px solid #d8dfe5; background:white; color:#3d4753; border-radius:7px; padding:10px 13px; font:600 .875rem Manrope,Arial,sans-serif; cursor:pointer; }
.family-nav button:hover { border-color:#bd222b; color:#a41d24; }
.equipment-group { padding:0; margin:0 0 44px; scroll-margin-top:110px; }
.equipment-group > h3 { font-size:1.4rem; margin:0 0 20px; letter-spacing:-.03em; }
.equipment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.equipment-card { display:flex; flex-direction:column; min-width:0; background:#fff; border:1px solid #dfe4e9; border-radius:15px; overflow:hidden; transition:box-shadow .2s,border-color .2s; }
.equipment-card:hover { border-color:#d09ba0; box-shadow:0 9px 28px rgba(23,28,35,.08); }
.equipment-open { display:flex; flex-direction:column; flex:1; width:100%; padding:0; border:0; text-align:left; color:inherit; background:transparent; font:inherit; cursor:pointer; }
.equipment-card-photo { height:245px; width:100%; padding:30px; display:flex; align-items:center; justify-content:center; background:white; }
.equipment-card-photo img { width:100%; height:100%; object-fit:contain; }
.equipment-card-text { display:flex; flex:1; flex-direction:column; width:100%; padding:23px; border-top:1px solid #edf0f3; }
.equipment-card-brand { color:#9b2630; font-size:.75rem; font-weight:800; letter-spacing:.065em; text-transform:uppercase; margin-bottom:10px; }
.equipment-card h4 { font-size:1.15rem; letter-spacing:-.02em; line-height:1.4; margin:0 0 10px; }
.equipment-card-summary { font-size:.875rem; color:#63707d; margin:0 0 24px; line-height:1.6; }
.equipment-card-action { display:block; margin-top:auto; padding-top:15px; border-top:1px solid #edf0f3; font-size:.875rem; font-weight:800; color:#b51d27; }
.equipment-dialog { width:min(940px,calc(100% - 32px)); max-height:90vh; max-height:90dvh; border:0; border-radius:20px; padding:0; background:white; color:#161c24; box-shadow:0 28px 100px #0006; }
.equipment-dialog::backdrop { background:rgba(5,10,16,.77); backdrop-filter:blur(5px); }
.detail-close { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:center; gap:10px; margin:16px 16px 0 auto; min-height:42px; padding:0 14px; border:1px solid #d6dce2; border-radius:8px; background:white; color:#37414c; font:700 .875rem Manrope,Arial,sans-serif; cursor:pointer; }
.detail-close span { font-size:1.5rem; font-weight:400; }
.equipment-layout { display:grid; grid-template-columns:1fr 1.1fr; align-items:start; gap:40px; padding:20px 40px 40px; }
.equipment-photo { display:flex; align-items:center; justify-content:center; height:360px; padding:24px; min-width:0; }
.equipment-photo img { display:block; max-width:100%; max-height:100%; object-fit:contain; }
.equipment-info .eyebrow { color:#a8242c; margin:15px 0 12px; }
.equipment-info h2 { font-size:clamp(1.7rem,3vw,2.3rem); letter-spacing:-.035em; line-height:1.2; margin:0 0 24px; }
.equipment-info dl { margin:0 0 28px; }
.equipment-info dl div { display:grid; grid-template-columns:1fr 1.2fr; gap:18px; padding:13px 0; border-bottom:1px solid #e9edf0; font-size:.925rem; }
.equipment-info dt { color:#66717c; }
.equipment-info dd { margin:0; font-weight:600; overflow-wrap:anywhere; }
.equipment-contact { display:flex; align-items:center; justify-content:center; padding:14px 20px; border-radius:8px; background:#df2027; color:white; font-size:.925rem; font-weight:800; }
.equipment-contact:hover { background:#bc1720; }
.detail-download { display:block; margin-top:18px; text-align:center; color:#66717c; font-size:.875rem; text-decoration:underline; text-underline-offset:3px; }
.web-catalog a:focus-visible,.web-catalog button:focus-visible,.equipment-dialog a:focus-visible,.equipment-dialog button:focus-visible { outline:3px solid #df2027; outline-offset:4px; }
.equipment-open:focus-visible { outline-offset:-4px!important; border-radius:15px; }
body.detail-open { overflow:hidden; }
@media(max-width:820px) {
  .equipment-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .equipment-layout { gap:20px; padding:15px 24px 28px; }
  .equipment-photo { height:280px; padding:12px; }
}
@media(max-width:560px) {
  .catalog-banner { padding-top:24px; }
  .catalog-return { margin-bottom:28px; }
  .category-nav { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
  .category-nav a { padding:12px 0; font-size:.875rem; }
  .gallery-summary { align-items:flex-start; flex-direction:column; gap:10px; }
  .equipment-grid { grid-template-columns:1fr; }
  .equipment-card-photo { height:250px; }
  .equipment-layout { grid-template-columns:1fr; gap:8px; padding:8px 22px 28px; }
  .equipment-photo { height:230px; }
  .equipment-dialog { width:calc(100% - 20px); border-radius:15px; }
  .family-nav { max-height:170px; overflow:auto; padding:4px; }
  .equipment-info dl div { font-size:.875rem; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; } .equipment-card { transition:none; } }

