.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-6)}.product-card{background-color:var(--color-white);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow var(--transition-base),transform var(--transition-base)}.product-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.product-card__link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}.product-card__image{position:relative;background-color:var(--color-grey-light);aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-card__image-placeholder{color:#ccc;display:flex;align-items:center;justify-content:center}.product-card__image .badge{position:absolute;top:var(--space-3);left:var(--space-3)}.product-card__body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);flex:1}.product-card__name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-black);line-height:var(--line-height-snug)}.product-card__desc{font-size:var(--font-size-sm);color:var(--color-grey-dark);line-height:var(--line-height-normal);flex:1}.product-card__cta{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-red);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-top:var(--space-3);transition:gap var(--transition-fast)}.product-card:hover .product-card__cta{gap:var(--space-3)}.filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-8)}.filter-btn{padding:var(--space-2) var(--space-5);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--color-white);color:var(--color-grey-dark);cursor:pointer;transition:all var(--transition-fast)}.filter-btn:hover{border-color:var(--color-red);color:var(--color-red)}.filter-btn--active{background-color:var(--color-red);border-color:var(--color-red);color:var(--color-white)}.product-detail__body .product-detail__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:start;margin-bottom:var(--space-12)}.product-detail__image-placeholder{background-color:var(--color-grey-light);border-radius:var(--radius-md);aspect-ratio:4 / 3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);color:#ccc;font-size:var(--font-size-sm);text-align:center;padding:var(--space-8)}.product-detail__info{display:flex;flex-direction:column;gap:var(--space-8)}.product-detail__description h2,.product-detail__features h2{font-size:var(--font-size-xl);margin-bottom:var(--space-3)}.product-detail__description p{color:var(--color-grey-dark);line-height:var(--line-height-normal)}.feature-list{display:flex;flex-direction:column;gap:var(--space-3);list-style:none}.feature-list li{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-black);line-height:var(--line-height-snug)}.feature-list li svg{color:var(--color-red);flex-shrink:0;margin-top:2px}.product-detail__actions{display:flex;gap:var(--space-4);flex-wrap:wrap;align-items:center}.pdf-coming-soon{font-size:var(--font-size-sm);color:var(--color-grey-dark);font-style:italic}.product-detail__specs{padding-top:var(--space-8);border-top:1px solid var(--border-color)}.product-detail__specs h2{font-size:var(--font-size-xl);margin-bottom:var(--space-5)}.specs-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.specs-table tr{border-bottom:1px solid var(--border-color)}.specs-table tr:last-child{border-bottom:none}.specs-table th{text-align:left;padding:var(--space-3) var(--space-4) var(--space-3) 0;font-weight:var(--font-weight-semibold);color:var(--color-black);width:35%;vertical-align:top}.specs-table td{padding:var(--space-3) var(--space-4) var(--space-3) 0;color:var(--color-grey-dark);vertical-align:top}.related-products{background-color:var(--color-grey-light);padding:var(--space-16) 0}.related-products .section-title{margin-bottom:var(--space-8)}.section__cta{text-align:center;margin-top:var(--space-10)}.features__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-6)}.feature-card{background-color:var(--color-white);border-radius:var(--radius-md);padding:var(--space-6);border:1px solid var(--border-color)}.feature-card__icon{width:56px;height:56px;background-color:#c8102e14;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);color:var(--color-red)}.feature-card__icon img{width:32px;height:32px;object-fit:contain}.feature-card h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2)}.feature-card p{font-size:var(--font-size-sm);color:var(--color-grey-dark);line-height:var(--line-height-normal)}.ceca-callout{background-color:var(--color-grey-light);padding:var(--space-16) 0}.ceca-callout__inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}.ceca-callout__text .badge{margin-bottom:var(--space-4)}.ceca-callout__logo{width:120px;height:auto;border-radius:var(--radius-sm);margin-bottom:var(--space-4);border:1px solid var(--border-color)}.ceca-callout__text h2{color:var(--color-black);margin-bottom:var(--space-4)}.ceca-callout__text p{color:var(--color-grey-dark);margin-bottom:var(--space-6);line-height:var(--line-height-normal)}.ceca-callout__list ul{display:flex;flex-direction:column;gap:var(--space-3);list-style:none}.ceca-callout__list li{color:var(--color-grey-dark);font-size:var(--font-size-sm);padding-left:var(--space-5);position:relative}.ceca-callout__list li:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;background-color:var(--color-red);border-radius:50%}@media (max-width: 768px){.product-detail__body .product-detail__grid{grid-template-columns:1fr;gap:var(--space-8)}.ceca-callout__inner,.product-grid{grid-template-columns:1fr}}.category-detail__body.section{padding:var(--space-12) 0}.category-detail__intro{display:grid;grid-template-columns:420px 1fr;gap:var(--space-10);align-items:start;margin-bottom:var(--space-8);padding-bottom:var(--space-8);border-bottom:1px solid var(--border-color)}.category-detail__intro--no-image{grid-template-columns:1fr;max-width:720px}.category-detail__image{border-radius:var(--radius-md);overflow:hidden;background:var(--color-white);border:1px solid var(--border-color);padding:var(--space-4)}.category-detail__image img{width:100%;height:auto;display:block;object-fit:contain;max-height:300px}.category-detail__text p{color:var(--color-grey-dark);line-height:var(--line-height-normal);font-size:var(--font-size-lg);margin-bottom:var(--space-5)}.category-detail__text h2{font-size:var(--font-size-xl);margin-bottom:var(--space-4)}.category-detail__actions{margin-top:var(--space-6)}.category-detail__variants h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-6)}.variant-group{margin-bottom:var(--space-12)}.variant-group__name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-black);padding:var(--space-3) var(--space-4);background-color:var(--color-black);color:var(--color-white);border-radius:var(--radius-sm) var(--radius-sm) 0 0;border-left:4px solid var(--color-red);margin-bottom:0}.variants-table-wrap{overflow-x:auto;border:1px solid var(--border-color);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm)}.variants-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);min-width:600px}.variants-table thead tr{background-color:var(--color-grey-light);border-bottom:2px solid var(--border-color)}.variants-table thead th{text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-grey-dark);white-space:nowrap}.variants-table tbody tr{border-bottom:1px solid var(--border-color);transition:background-color var(--transition-fast)}.variants-table tbody tr:last-child{border-bottom:none}.variants-table tbody tr:nth-child(even){background-color:#f5f5f580}.variants-table tbody tr:hover{background-color:#c8102e0a}.variants-table td{padding:var(--space-3) var(--space-4);vertical-align:middle;color:var(--color-black);line-height:var(--line-height-snug)}.variant-sku{font-family:Courier New,monospace;font-size:var(--font-size-xs);color:var(--color-grey-dark);white-space:nowrap}.variant-name{font-weight:var(--font-weight-medium)}.variant-action{text-align:right;white-space:nowrap}.btn-quote{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-red);border:1px solid var(--color-red);border-radius:var(--radius-sm);text-decoration:none;white-space:nowrap;transition:background-color var(--transition-fast),color var(--transition-fast)}.btn-quote:hover{background-color:var(--color-red);color:var(--color-white)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (max-width: 768px){.category-detail__intro,.category-detail__intro--no-image{grid-template-columns:1fr}.variants-table-wrap{border:none}.variants-table,.variants-table thead,.variants-table tbody,.variants-table tr,.variants-table th,.variants-table td{display:block}.variants-table thead tr{display:none}.variants-table{min-width:0}.variants-table tbody tr{border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:var(--space-4);padding:var(--space-4)}.variants-table td{padding:var(--space-2) 0;display:flex;gap:var(--space-2)}.variants-table td:before{content:attr(data-label);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-grey-dark);min-width:100px;flex-shrink:0}.variant-action{text-align:left;margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border-color)}.variant-action:before{display:none}.btn-quote{width:100%;justify-content:center}}
