#IACCatalogContainer{margin-top:1rem;background-color:#f0f0f0;padding:20px 30px;margin-bottom:1rem}#IACCatalogContainer .grid-x{margin-bottom:2rem}#IACCatalogContainer .product-card{height:100%;min-height:620px;display:flex;flex-direction:column;transition:all .3s ease;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08);border:1px solid #e0e0e0;background-color:#fff;position:relative}#IACCatalogContainer .product-card:hover{box-shadow:0 10px 20px rgba(0,0,0,.15);transform:translateY(-5px)}#IACCatalogContainer .product-card .product-image-container{position:relative;overflow:hidden;background:#f8f8f8;max-height:220px;height:100%}#IACCatalogContainer .product-card .product-image-container:hover .product-image{transform:scale(1.05)}#IACCatalogContainer .product-card .product-image{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .5s ease}#IACCatalogContainer .product-card .unavailable-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:1px}#IACCatalogContainer .product-card .product-badge{position:absolute;top:10px;right:10px;padding:5px 10px;background-color:#0078a0;color:#fff;border-radius:20px;font-size:.8rem;font-weight:600;z-index:2}#IACCatalogContainer .product-card .card-section{flex:1;display:flex;flex-direction:column;padding:1.25rem;overflow:auto}#IACCatalogContainer .product-card .card-section h4{margin-bottom:.75rem;font-weight:600;color:#333;line-height:1.3;font-size:1.2rem}#IACCatalogContainer .product-card .card-section p{margin-bottom:.75rem;color:#555;line-height:1.5;font-size:.95rem}#IACCatalogContainer .product-card .card-section .product-attributes{margin-bottom:1rem}#IACCatalogContainer .product-card .card-section .product-attributes h5{margin-bottom:.5rem;font-size:1rem;font-weight:600}#IACCatalogContainer .product-card .card-section .product-attributes ul{list-style:none;margin:0;padding:0}#IACCatalogContainer .product-card .card-section .product-attributes ul li{display:flex;font-size:.9rem;margin-bottom:4px}#IACCatalogContainer .product-card .card-section .product-attributes ul li strong{min-width:100px;color:#555}#IACCatalogContainer .product-card .card-section .product-description{flex-grow:1}#IACCatalogContainer .product-card .card-section .product-name{margin:0}#IACCatalogContainer .product-card .card-section .price{font-size:1.4rem;font-weight:bold;color:#0078a0;margin:0 0 12px 0}#IACCatalogContainer .product-card .card-section .button{margin-top:auto;margin-bottom:0;background-color:#0078a0;border-radius:4px;text-transform:uppercase;font-weight:600;transition:background-color .2s ease}#IACCatalogContainer .product-card .card-section .button:hover{background-color:#00526d}#IACCatalogContainer .product-card .card-section .button.secondary{background-color:#6c757d}#IACCatalogContainer .product-card .card-section .button.secondary:hover{background-color:#545b62}#IACCatalogContainer .product-card .card-section .button.redbutton{background-color:#e72b1b}#IACCatalogContainer .product-card .card-section .button.redbutton:hover{background-color:#bb2114}#IACCatalogContainer .product-card .card-section .callout.alert{margin-top:auto;margin-bottom:0;text-align:center;background-color:#f8f8f8;color:#dc3545;border-color:#f5c6cb;padding:.5rem;font-size:.9rem}#IACCatalogContainer .product-card .card-section .product-control{margin:6px 0;display:flex;align-items:center;gap:6px}#IACCatalogContainer .product-card .card-section .product-control button.button.tiny{margin:0}#IACCatalogContainer .product-card .card-section .product-control .product-control-label{font-weight:bold}#IACCatalogContainer .product-card .card-section .donation-control{width:100%;box-sizing:border-box;padding:0;margin:0 0 1rem 0;background:none}#IACCatalogContainer .product-card .card-section .donation-control .donation-control-label{font-weight:bold;margin-bottom:4px;display:block}#IACCatalogContainer .product-card .card-section .donation-control input,#IACCatalogContainer .product-card .card-section .donation-control select{height:38px;padding:0 10px;font-size:16px;border:1px solid #ccc;border-radius:4px;width:100%;margin-bottom:12px;box-sizing:border-box}#IACCatalogContainer .product-review-table{width:auto!important;min-width:0!important;max-width:100%;border-collapse:collapse;margin-top:.5rem;margin-bottom:1rem;table-layout:auto!important}#IACCatalogContainer .product-review-table th,#IACCatalogContainer .product-review-table td{border:1px solid #e0e0e0;padding:6px 10px;text-align:left;white-space:nowrap}#IACCatalogContainer .product-review-table th{background:#f8f8f8;font-weight:bold}#IACCatalogContainer .loading-spinner{margin:3rem auto;text-align:center;color:#0078a0}#IACCatalogContainer .loading-spinner i.fa-spinner{display:block;margin-bottom:1rem}#IACCatalogContainer .callout.warning{border-radius:4px;padding:2rem;text-align:center}#IACCatalogContainer .callout.warning p{font-size:1.1rem;margin-bottom:0}@media screen and (max-width:639px){#IACCatalogContainer .product-card{margin-bottom:1.5rem}#IACCatalogContainer .product-card .card-section h4{font-size:1.1rem}#IACCatalogContainer .product-card .card-section .price{font-size:1.2rem}}.product-details-modal{max-width:800px;border-radius:8px;padding:0}.product-details-modal .modal-content{display:flex;flex-direction:column}@media screen and (min-width:640px){.product-details-modal .modal-content{flex-direction:row}}.product-details-modal .modal-content .product-image-container{flex:0 0 50%;background:#f8f8f8}.product-details-modal .modal-content .product-image-container img{width:100%;height:100%;object-fit:contain;max-height:400px}.product-details-modal .modal-content .product-details{flex:0 0 50%;padding:2rem}.product-details-modal .modal-content .product-details h3{margin-top:0;margin-bottom:1rem;color:#333}.product-details-modal .modal-content .product-details .description{margin-bottom:1.5rem;color:#555}.product-details-modal .modal-content .product-details .price{font-size:1.5rem;font-weight:bold;color:#0078a0;margin-bottom:1.5rem}.product-details-modal .modal-content .product-details .actions{display:flex;flex-wrap:wrap;gap:1rem}.product-details-modal .close-button{top:1rem;right:1rem;color:#666;font-size:2rem}.product-details-modal .close-button:hover{color:#333}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}