/* Reset and Base Styles */ *{margin:0;padding:0;box-sizing:border-box}/* Screen Reader Only */ .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}/* Skip Link */ .skip-link{position:absolute;top:-100%;left:16px;background:var(--navy);color:var(--white);padding:12px 24px;border-radius:0 0 8px 8px;z-index:10000;font-family:'Inter','Inter Fallback',sans-serif;font-size:0.875rem;font-weight:600;text-decoration:none;transition:top 0.15s ease}.skip-link:focus{top:0;outline:3px solid #0EA5E9;outline-offset:2px}/* Focus Visible */:focus-visible{outline:3px solid #0EA5E9;outline-offset:2px}:focus:not(:focus-visible){outline:none}/* Reduced Motion */ @media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}/* High Contrast */ @media (prefers-contrast:more){:root{--navy:#000;--dark-gray:#000}a{text-decoration:underline}.tag,.tag-iso{border-width:2px}}/* Print Styles */ @media print{header,footer,.chatbot-toggle,.chatbot-panel,.mobile-menu-overlay,.search-section,.filter-sidebar,.supplier-actions,.card-actions-top,.chatbot-footer,.save-supplier,.compare-checkbox{display:none !important}body{font-size:12pt;color:#000;background:#fff}a{color:#000;text-decoration:underline}a[href]::after{content:" (" attr(href) ")";font-size:0.8em}.supplier-card{break-inside:avoid;border:1px solid #ccc}}:root{--navy:#09213a;--orange:#0EA5E9;--blue:#007BFF;--light:#F8F9FA;--white:#FFFFFF;--dark-overlay:rgba(10,37,64,0.75);--dark-gray:#4B5563}@font-face{font-family:'Inter Fallback';src:local('Arial');size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0%}body{font-family:'Inter','Inter Fallback',sans-serif;background:#f5f5f5;color:#333;line-height:1.6}body.menu-open{overflow:hidden}/* Breadcrumbs Navigation */ .breadcrumbs-wrapper{background:#fff;border-bottom:1px solid #e5e7eb;width:100%}.breadcrumbs{max-width:1400px;margin:0 auto;padding:1rem clamp(1rem,4vw,4rem);font-size:0.9375rem;color:#6b7280;display:flex;align-items:center;gap:0.5rem}.breadcrumb-link{color:#1e40af;text-decoration:none;cursor:pointer;transition:color 0.2s;font-weight:500}.breadcrumb-link:hover{color:#1e3a8a;text-decoration:underline}.breadcrumb-separator{color:#6b7280;font-weight:400}.breadcrumb-current{color:#374151;font-weight:500}/* Navigation from concept-c */ header{position:relative;z-index:1000;background:var(--navy);box-shadow:0 2px 10px rgba(0,0,0,0.1)}header nav{max-width:1400px;margin:0 auto;padding:1.25rem clamp(1rem,4vw,4rem);display:flex;align-items:center;gap:3rem}.logo{font-family:'Space Grotesk',sans-serif;font-size:1.75rem;font-weight:700;color:var(--white);text-decoration:none;letter-spacing:0.02em;flex-shrink:0}.nav-links{display:flex;gap:0.5rem;list-style:none;align-items:center;margin-right:auto}.nav-links > li{position:relative}.nav-links a{color:var(--white);text-decoration:none;font-weight:500;font-size:0.9375rem;transition:all 0.2s ease;position:relative;padding:0.625rem 1rem;border-radius:8px;display:block}.nav-links > li > a:hover{background:rgba(255,255,255,0.1)}.nav-links li:nth-child(1) > a::after,.nav-links li:nth-child(2) > a::after,.nav-links li:nth-child(3) > a::after,.nav-links li:nth-child(4) > a::after{content:'';display:inline-block;width:0;height:0;margin-left:0.5rem;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4.5px solid currentColor;opacity:0.8;vertical-align:middle}/* Dropdown Menu */ .dropdown-menu{position:absolute;top:calc(100% + 0.5rem);left:0;background:white;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,0.15);min-width:240px;padding:0.75rem 0;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all 0.2s ease;z-index:1000}.nav-links > li.active .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-menu a{color:var(--navy);padding:0.625rem 1.25rem;font-size:0.9375rem;font-weight:500;display:block;transition:background 0.15s ease;border-radius:0}.dropdown-menu a:hover{background:#F8F9FA}.dropdown-separator{height:1px;background:rgba(0,0,0,0.08);margin:0.5rem 0}.dropdown-label{padding:0.75rem 1.25rem 0.375rem;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:rgba(9,33,58,0.5)}.dropdown-cta{color:#0EA5E9;font-weight:600}.dropdown-cta:hover{background:rgba(14,165,233,0.08)}.nav-actions{display:flex;gap:1.5rem;align-items:center}.nav-actions .search-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;cursor:pointer;transition:all 0.2s;position:relative}.nav-actions .search-icon:hover{opacity:0.7}.nav-actions .search-icon svg{width:24px;height:24px;stroke:white;stroke-width:2;fill:none}/* Search header icon */ .search-header .search-icon{position:absolute;left:0.75rem;top:50%;transform:translateY(-50%);color:#999}.btn-secondary{padding:0;background:transparent;color:var(--white);border:none;border-bottom:1px solid var(--white);border-radius:0;text-decoration:none;font-weight:500;font-size:0.9375rem;transition:all 0.2s;white-space:nowrap;padding-bottom:2px}.btn-secondary:hover{opacity:0.8}.btn-primary{padding:0.75rem 1.75rem;background:var(--orange);color:var(--white);border:none;border-radius:6px;text-decoration:none;font-weight:600;font-size:0.9375rem;transition:all 0.2s;white-space:nowrap}.btn-primary:hover{background:#0284c7}/* Burger Menu */ .burger-menu{display:none;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;background:transparent;border:none;cursor:pointer;padding:0;position:relative;z-index:10001}.burger-line{width:24px;height:2px;background:var(--white);border-radius:2px;transition:all 0.3s ease;position:absolute}.burger-line:nth-child(1){top:14px}.burger-line:nth-child(2){top:21px}.burger-line:nth-child(3){top:28px}.burger-menu.active .burger-line:nth-child(1){top:21px;transform:rotate(45deg)}.burger-menu.active .burger-line:nth-child(2){opacity:0}.burger-menu.active .burger-line:nth-child(3){top:21px;transform:rotate(-45deg)}/* Mobile Menu Overlay */ .mobile-menu-overlay{position:fixed;inset:0;height:100dvh;background:rgba(9,33,58,0.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:10000;opacity:0;visibility:hidden;transition:opacity 0.35s ease,visibility 0.35s ease}.mobile-menu-overlay.active{opacity:1;visibility:visible}.mobile-menu{position:absolute;top:0;right:0;width:min(85vw,380px);height:100%;background:var(--navy);padding:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-shadow:-8px 0 32px rgba(0,0,0,0.25);transform:translateX(100%);transition:transform 0.4s cubic-bezier(0.32,0.72,0,1);display:flex;flex-direction:column}.mobile-menu-overlay.active .mobile-menu{transform:translateX(0)}.close-menu{position:absolute;top:1.25rem;right:1.25rem;width:44px;height:44px;background:rgba(255,255,255,0.08);border:none;border-radius:12px;color:var(--white);font-size:1.5rem;line-height:1;cursor:pointer;transition:background 0.2s,transform 0.2s;display:flex;align-items:center;justify-content:center}.close-menu:hover{background:rgba(255,255,255,0.15)}.close-menu:active{transform:scale(0.92)}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,0.08)}.mobile-menu-header .logo{font-size:1.125rem;letter-spacing:0.04em}.mobile-menu-header .close-menu{position:static}.mobile-nav{display:flex;flex-direction:column;padding:1rem 0}.mobile-nav a{color:var(--white);text-decoration:none;font-size:1.125rem;font-weight:500;padding:1rem 1.5rem;transition:background 0.15s ease;opacity:0;transform:translateY(8px);display:flex;align-items:center;gap:0.75rem}.mobile-menu-overlay.active .mobile-nav a{animation:mobileNavFadeIn 0.35s ease-out forwards}.mobile-nav a:nth-child(1){animation-delay:0.08s}.mobile-nav a:nth-child(2){animation-delay:0.12s}.mobile-nav a:nth-child(3){animation-delay:0.16s}.mobile-nav a:nth-child(4){animation-delay:0.20s}@keyframes mobileNavFadeIn{to{opacity:1;transform:translateY(0)}}/* Keep old animation name for backwards compatibility */ @keyframes slideInFromRight{to{opacity:1;transform:translateX(0)}}.mobile-nav a:hover,.mobile-nav a:active{background:rgba(255,255,255,0.06)}.mobile-nav a .mobile-nav-icon{width:20px;height:20px;opacity:0.5;flex-shrink:0}/* Mobile Menu Sections */ .mobile-menu-divider{height:1px;background:rgba(255,255,255,0.08);margin:0.5rem 1.5rem}.mobile-search{padding:1rem 1.5rem}.mobile-search input{width:100%;padding:0.875rem 1rem;border:1px solid rgba(255,255,255,0.12);border-radius:12px;background:rgba(255,255,255,0.06);color:var(--white);font-size:0.9375rem;font-family:'Inter',sans-serif;margin-bottom:0.75rem;transition:border-color 0.2s,background 0.2s}.mobile-search input:focus{outline:none;border-color:rgba(14,165,233,0.5);background:rgba(255,255,255,0.1)}.mobile-search input::placeholder{color:rgba(255,255,255,0.4)}.mobile-search-btn{width:100%;padding:0.875rem;background:#0ea5e9;color:var(--white);border:none;border-radius:12px;font-size:0.9375rem;font-weight:600;cursor:pointer;transition:background 0.2s,transform 0.15s}.mobile-search-btn:active{transform:scale(0.98);background:#0284c7}.mobile-cta{padding:0.5rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom,0px))}.btn-primary-mobile{display:block;width:100%;padding:0.875rem;text-align:center;text-decoration:none;font-weight:600;font-size:0.9375rem;border-radius:12px;background:rgba(255,255,255,0.08);color:var(--white);border:1px solid rgba(255,255,255,0.15);transition:background 0.2s}.btn-primary-mobile:active{background:rgba(255,255,255,0.15)}/* Search Header */ .search-header{background:white;border-bottom:1px solid #e0e0e0;padding:1.5rem 0;position:relative}.search-container{max-width:1400px;margin:0 auto;padding:0 clamp(1rem,4vw,4rem)}.search-form{display:flex;gap:1rem;align-items:center;width:100%}.search-main{flex:1;position:relative}.search-input{width:100%;padding:0.75rem 1rem 0.75rem 2.5rem;border:1px solid #d0d0d0;border-radius:8px;font-size:max(1rem,16px);transition:border-color 0.2s}.search-input:focus{outline:none;border-color:#2563eb}/* Removed duplicate - now using .search-header .search-icon above */ .search-filters{display:flex;gap:0.75rem}.search-select{padding:0.75rem 2.5rem 0.75rem 1rem;border:1px solid #d0d0d0;border-radius:8px;font-size:0.875rem;background:white;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.75rem center;background-size:12px 8px}.btn-search{padding:0.75rem 2rem;background:#2563eb;color:white;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;display:inline-flex;align-items:center;justify-content:center;transition:background 0.2s}.btn-search:hover{background:#1d4ed8}/* Main Layout */ .main-content{max-width:1400px;margin:0 auto;padding:1.5rem clamp(0.75rem,4vw,4rem);display:flex;gap:1.5rem}/* Sidebar Filters */ .filters-sidebar{width:280px;flex-shrink:0}/* Filter Tier Groupings */ .filter-tier{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.filter-tier:last-child{border-bottom:none;margin-bottom:0}.filter-tier-label{font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:#0EA5E9;margin-bottom:0.75rem;padding:0.25rem 0.5rem;background:linear-gradient(90deg,rgba(14,165,233,0.1),transparent);border-left:3px solid #0EA5E9;border-radius:0 4px 4px 0}.filter-clear-all{float:right;font-size:0.6875rem;font-weight:500;color:#64748b;text-decoration:underline;text-transform:none;letter-spacing:0}.filter-section{background:white;border-radius:8px;padding:1.25rem;margin-bottom:1rem}.filter-title{font-size:0.875rem;font-weight:600;text-transform:uppercase;color:#666;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.filter-count{background:#f0f0f0;padding:0.125rem 0.5rem;border-radius:12px;font-size:0.75rem;color:#666}.filter-option{display:flex;align-items:center;margin-bottom:0.75rem;min-height:44px}.filter-option input[type="checkbox"]{width:18px;height:18px;margin-right:0.75rem;cursor:pointer}.filter-option label{flex:1;cursor:pointer;font-size:0.9375rem}.filter-option .count{color:#999;font-size:0.875rem}.filter-option.filter-disabled{opacity:0.4;pointer-events:none}.range-inputs{display:flex;gap:0.5rem;align-items:center}.range-input{width:100%;padding:0.5rem;border:1px solid #d0d0d0;border-radius:6px;font-size:0.875rem}/* Results Section */ /* Hide results until JS populates them (prevents FOUC of placeholder numbers) */ .results-section .results-bar,.results-section .pagination{visibility:hidden}.results-section.js-ready .results-bar,.results-section.js-ready .pagination{visibility:visible}.results-section{flex:1;min-width:0}.results-bar{background:white;padding:1rem 1.25rem;border-radius:8px;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.results-info{display:flex;align-items:center;gap:1.5rem}.results-count{font-size:0.9375rem;color:#666}.results-count strong{color:#333}.results-actions{display:flex;gap:0.75rem}.btn-action{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 1rem;background:white;border:1px solid #d0d0d0;border-radius:6px;cursor:pointer;font-size:0.875rem;color:#666;transition:all 0.2s}.btn-action:hover{border-color:#2563eb;color:#2563eb}.view-options{display:flex;align-items:center;gap:1rem}.view-toggle{display:flex;gap:0.25rem;background:#f5f5f5;padding:0.25rem;border-radius:6px}.view-btn{padding:0.5rem;background:transparent;border:none;border-radius:4px;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center}.view-btn.active{background:white;color:#2563eb}.sort-select{padding:0.5rem 2rem 0.5rem 0.75rem;border:1px solid #d0d0d0;border-radius:6px;font-size:0.875rem;background:white;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.5rem center;background-size:12px 8px}/* Supplier Cards */ .suppliers-grid{display:grid;gap:1rem}.supplier-card{background:white;border-radius:8px;padding:1.5rem;border:1px solid #e0e0e0;transition:all 0.2s}.supplier-card:hover{border-color:#2563eb;box-shadow:0 4px 12px rgba(0,0,0,0.08)}.card-header{display:flex;justify-content:flex-end;align-items:flex-start;margin-bottom:1rem}/* Site Disclaimer Banner */ .site-disclaimer-banner{background:#fef3c7;border-bottom:1px solid #fcd34d;color:#92400e;text-align:center;padding:0.625rem 1rem;font-size:0.8125rem;line-height:1.5;font-weight:500}/* Supplier Initial (replaces company logos) */ .supplier-initial{width:80px;height:80px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:white;background:#0EA5E9;box-shadow:0 4px 12px rgba(0,0,0,0.1);flex-shrink:0}/* Certification Disclaimer */ .cert-disclaimer{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:0.75rem 1rem;margin-bottom:1rem;font-size:0.8125rem;color:#92400e;line-height:1.5}/* Profile Claim Notice */ .profile-claim-notice{max-width:1400px;margin:2rem auto;padding:2rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;text-align:center}.profile-claim-notice h3{font-size:1.125rem;font-weight:600;color:#0c4a6e;margin-bottom:0.5rem}.profile-claim-notice p{color:#0c4a6e;font-size:0.9375rem;line-height:1.6}.profile-claim-notice a{color:#0369a1;font-weight:600}.save-supplier{background:transparent;border:none;color:#999;cursor:pointer;padding:0.25rem}.save-supplier:hover{color:#2563eb}.save-supplier.saved{color:#2563eb}/* Card Header Actions - Phone & Bookmark */ .card-actions-top{display:flex;align-items:center;gap:0.75rem;margin-left:auto;flex-shrink:0}.header-phone{display:flex;align-items:center;gap:0.375rem;color:#374151;text-decoration:none;font-size:0.8125rem;font-weight:500;padding:0.375rem 0.625rem;background:#f3f4f6;border-radius:6px;transition:all 0.2s ease}.header-phone:hover{background:#e5e7eb;color:#1f2937}.header-phone svg{color:#6b7280;flex-shrink:0}.card-body{display:flex;flex-direction:column;gap:1rem}.card-header-row{display:flex;gap:1.25rem;align-items:flex-start}.supplier-logo{width:80px;height:80px;flex-shrink:0;border-radius:8px;overflow:hidden;background:#f5f5f5;display:flex;align-items:center;justify-content:center}.supplier-logo img{width:100%;height:100%;object-fit:contain}.supplier-header-info{flex:1}.supplier-content{display:flex;flex-direction:column;gap:0.75rem}.supplier-title{font-size:1.25rem;font-weight:600;color:#2563eb;margin-bottom:0.25rem;text-decoration:none;display:inline-block}.supplier-title:hover{text-decoration:underline}.supplier-meta{display:flex;align-items:center;flex-wrap:wrap;gap:0.5rem;margin-top:0.25rem;font-size:0.875rem;color:#666}.supplier-website{display:inline-flex;align-items:center;gap:0.25rem;color:#666;text-decoration:underline;transition:color 0.2s}.supplier-website:hover{color:#333}.supplier-website svg{flex-shrink:0}.rating{display:flex;align-items:center;gap:0.25rem}.stars{color:#fbbf24}.supplier-description{color:#666;margin:0;line-height:1.5;font-size:0.9375rem}.supplier-tags{display:flex;flex-wrap:wrap;gap:0.5rem}.tag{padding:0.25rem 0.75rem;background:#f5f5f5;border-radius:4px;font-size:0.8125rem;color:#666}.tag.certification{background:#dbeafe;color:#1e40af}.tag-iso{background:#dbeafe;color:#1e40af;font-weight:600;border:1px solid #93c5fd}.supplier-stats{display:flex;gap:2rem}.stat{display:flex;flex-direction:column}.stat-label{font-size:0.75rem;color:#999;text-transform:uppercase;letter-spacing:0.025em;margin-bottom:0.25rem}.stat-value{font-size:1rem;font-weight:600;color:#333}.card-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.card-actions{display:flex;gap:0.75rem}.btn-card{padding:0.5rem 1rem;border-radius:6px;font-size:0.875rem;cursor:pointer;transition:all 0.2s;border:1px solid #d0d0d0;background:white;color:#333;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-card.primary{background:#2563eb;color:white;border:none}.btn-card:hover{transform:translateY(-1px)}.compare-checkbox{display:flex;align-items:center;gap:0.5rem;font-size:0.875rem;color:#666}/* Pagination */ .pagination{display:flex;justify-content:center;align-items:center;gap:0.5rem;margin-top:2rem}.page-btn{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid #d0d0d0;background:white;border-radius:6px;cursor:pointer;font-size:0.875rem;color:#666;transition:all 0.2s}.page-btn:hover{border-color:#2563eb;color:#2563eb}.page-btn.active{background:#2563eb;color:white;border-color:#2563eb}.page-btn:disabled{opacity:0.5;cursor:not-allowed}/* Mobile Filter Button */ .mobile-filter-btn{display:none;position:fixed;bottom:max(1.5rem,env(safe-area-inset-bottom,0px));right:max(1.5rem,env(safe-area-inset-right,0px));padding:1rem;background:#2563eb;color:white;border:none;border-radius:50%;width:56px;height:56px;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(37,99,235,0.3);cursor:pointer;z-index:80}/* Modal */ .modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);z-index:10100;align-items:center;justify-content:center}.modal.active{display:flex}.modal-content{background:white;border-radius:12px;padding:2rem;max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-title{font-size:1.25rem;font-weight:600}.modal-close{background:transparent;border:none;font-size:1.5rem;color:#999;cursor:pointer}.form-group{margin-bottom:1.25rem;display:flex;flex-direction:column}.form-group label{display:block;margin-bottom:0.5rem;font-size:0.875rem;font-weight:500;color:#333}.form-input,.form-textarea{width:100%;padding:0.75rem;border:1px solid #d0d0d0;border-radius:6px;font-size:1rem}.form-textarea{min-height:100px;resize:vertical}.modal-actions{display:flex;gap:0.75rem;justify-content:flex-end;margin-top:1.5rem}/* Quote Modal Specific Styles */ .quote-modal{max-width:700px;width:90%;max-height:85vh;overflow-y:auto}.quote-form{padding:1rem}.form-section{margin-bottom:2rem}.form-section-title{font-size:1.1rem;font-weight:600;color:var(--navy);margin-bottom:1rem;padding-bottom:0.5rem;border-bottom:1px solid #e5e5e5}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-group.full-width{grid-column:1 / -1}.form-group input,.form-group select,.form-group textarea{padding:0.625rem 0.875rem;border:1px solid #d0d0d0;border-radius:6px;font-size:0.95rem;font-family:'Inter',sans-serif;transition:border-color 0.2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,0.1)}.form-group textarea{resize:vertical;min-height:80px}.radio-group{display:flex;flex-direction:column;gap:0.75rem}.radio-label{display:flex;align-items:center;cursor:pointer;padding:0.75rem;border:1px solid #e5e5e5;border-radius:6px;transition:all 0.2s}.radio-label:hover{background:#f9fafb;border-color:#d0d0d0}.radio-label input[type="radio"]{margin-right:0.75rem;width:18px;height:18px;cursor:pointer}.radio-label span{font-size:0.95rem;color:var(--navy)}.radio-label:has(input:checked){background:#eff6ff;border-color:var(--blue)}/* Quote Modal Responsive */ @media (max-width:640px){.quote-modal{width:95%;max-height:90vh}.form-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}/* Notification */ .notification{position:fixed;bottom:max(2rem,env(safe-area-inset-bottom,0px));right:max(2rem,env(safe-area-inset-right,0px));background:#10b981;color:white;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.15);display:none;align-items:center;gap:0.75rem;z-index:10200}.notification.show{display:flex}/* Mobile Responsive */ @media (max-width:900px){.burger-menu{display:flex}.nav-links{display:none}.nav-actions .search-icon{display:none}.nav-actions{gap:0}.search-form{flex-direction:column;gap:0.75rem}.search-filters{width:100%}.search-select{width:100%}.search-main{width:100%}.btn-search{width:100%}}@media (max-width:1024px){nav{padding:1rem 2rem}.logo{font-size:1.5rem}.search-container{padding:0 2rem}.main-content{padding:1.5rem 2rem}.filters-sidebar{display:none;position:fixed;top:0;left:0;bottom:0;width:320px;background:white;z-index:150;overflow-y:auto;box-shadow:2px 0 12px rgba(0,0,0,0.1)}.filters-sidebar.active{display:block}.mobile-filter-btn{display:flex}}@media (max-width:768px){nav{padding:1rem 1.5rem}.logo{font-size:1.25rem}.search-header{padding:1rem 0}.search-container{padding:0 1rem}.search-form{flex-direction:column;gap:0.75rem}.search-main{width:100%;max-width:none}.search-input{font-size:16px;/* Prevents iOS zoom */}.btn-search{width:100%;justify-content:center}.main-content{padding:1rem;gap:1rem}.btn-secondary{display:none}.search-filters{display:none}.results-bar{flex-direction:column;gap:0.75rem;align-items:stretch;padding:0.75rem}.results-info{flex-direction:row;flex-wrap:wrap;align-items:center;gap:0.5rem}.results-count{font-size:1rem}.action-buttons{display:flex;gap:0.5rem}.action-buttons .btn-secondary{display:flex;padding:0.5rem 0.75rem;font-size:0.8rem}.view-options{justify-content:space-between;width:100%}.view-toggle{gap:0.25rem}.view-btn{padding:0.4rem 0.6rem}.sort-select{padding:0.4rem 0.6rem;font-size:0.85rem}/* MOBILE CARD STYLES */ .supplier-card{border-radius:12px;overflow:hidden;margin-bottom:1rem}.card-body{padding:1rem}.card-header-row{display:flex;gap:0.875rem;align-items:flex-start;margin-bottom:0.75rem}.supplier-logo{width:64px;height:64px;min-width:64px;border-radius:8px;flex-shrink:0}.supplier-logo img{width:100%;height:100%;object-fit:contain}.supplier-header-info{flex:1;min-width:0}.supplier-title{font-size:1rem;font-weight:600;line-height:1.3;margin-bottom:0.25rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.supplier-meta{font-size:0.8rem;color:#666;display:flex;flex-wrap:wrap;gap:0.25rem 0.5rem}.card-actions-top{display:none}.supplier-content{gap:0.75rem}.supplier-description{font-size:0.875rem;line-height:1.5;color:#555;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0}.supplier-tags{display:flex;flex-wrap:wrap;gap:0.375rem}.tag{font-size:0.7rem;padding:0.25rem 0.5rem;border-radius:4px;background:#f3f4f6;color:#4b5563}.tag.certification{background:#dbeafe;color:#1e40af}.supplier-stats{display:none}.card-footer{display:flex;flex-direction:column;gap:0.5rem;padding:0.75rem 1rem;background:#f9fafb;border-top:1px solid #e5e7eb}.card-footer .card-actions{display:flex;gap:0.5rem;width:100%}.card-footer .btn-card{flex:1;padding:0.625rem 0.75rem;font-size:0.8rem;border-radius:6px;text-align:center;justify-content:center;font-weight:500;text-decoration:none;display:flex;align-items:center}.card-footer .btn-card.primary{background:#2563eb;color:white;border:none}.card-footer .btn-view-profile{background:white;color:#374151;border:1px solid #d1d5db}.card-footer .compare-checkbox{display:none}.breadcrumbs-wrapper{padding:0}.breadcrumbs{padding:0.75rem 1rem;font-size:0.8rem}.pagination-info{display:none}}@media (max-width:480px){nav{padding:0.75rem 1rem}.logo{font-size:1rem;letter-spacing:0}.search-container{padding:0 0.75rem}.search-header{padding:0.75rem 0}.search-input{padding:0.625rem 0.75rem 0.625rem 2.25rem;font-size:16px}.search-main .search-icon{left:0.75rem}.main-content{padding:0.75rem;gap:0.75rem}.btn-search{padding:0.625rem 1rem;font-size:0.875rem}.results-bar{padding:0.5rem 0.75rem;gap:0.5rem}.results-count{font-size:0.875rem}.action-buttons .btn-secondary{padding:0.375rem 0.5rem;font-size:0.7rem}/* SMALL PHONE CARD STYLES */ .supplier-card{margin-bottom:0.75rem;border-radius:10px}.card-body{padding:0.75rem}.card-header-row{gap:0.75rem;margin-bottom:0.5rem}.supplier-logo{width:56px;height:56px;min-width:56px;border-radius:6px}.supplier-title{font-size:0.9375rem}.supplier-meta{font-size:0.75rem}.supplier-description{font-size:0.8125rem;-webkit-line-clamp:2}.supplier-tags{gap:0.25rem}.tag{font-size:0.65rem;padding:0.2rem 0.4rem}.card-footer{padding:0.625rem 0.75rem;gap:0.375rem}.card-footer .btn-card{padding:0.5rem 0.5rem;font-size:0.75rem}.pagination{gap:0.25rem;padding:0.5rem 0}.page-btn{min-width:44px;height:44px;font-size:0.75rem}.breadcrumbs-wrapper{padding:0.375rem 0.75rem}.breadcrumbs{font-size:0.75rem}.notification{bottom:1rem;right:1rem;left:1rem;padding:0.75rem 1rem;font-size:0.875rem}.logo{font-size:1.1rem}.footer-content{padding:0 1.25rem}/* Mobile menu adjustments */ .mobile-menu{padding:5rem 1.5rem 1.5rem}.mobile-nav a{font-size:1.2rem;padding:1rem 0}}@media (max-width:360px){nav{padding:0.625rem 0.75rem}.logo{font-size:0.9375rem}.search-container{padding:0 0.5rem}.main-content{padding:0.5rem}.results-bar{padding:0.375rem 0.5rem}.supplier-card{border-radius:8px}.card-body{padding:0.625rem}.card-header-row{gap:0.5rem}.supplier-logo{width:48px;height:48px;min-width:48px}.supplier-title{font-size:0.875rem}.card-footer .btn-card{padding:0.5rem 0.375rem;font-size:0.6875rem}.breadcrumbs{padding:0.5rem;font-size:0.6875rem;gap:0.25rem}.mobile-menu{padding:4.5rem 1rem 1rem;max-width:100vw}.mobile-nav a{font-size:1.1rem;padding:0.875rem 0}.footer-content{padding:0 1rem}.footer-bottom{padding:1.5rem 1rem 0}.footer-section h4{font-size:0.9375rem}.footer-section ul li a{font-size:0.875rem}}/* ============================================ PRODUCT PREVIEW SECTION (ThomasNet Style) ============================================ */ .product-preview-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb;display:flex;gap:1rem;flex-wrap:wrap}.product-preview-item{flex:0 0 calc(50% - 0.5rem);display:flex;gap:0.75rem;padding:0.75rem;border:1px solid #e5e7eb;border-radius:8px;text-decoration:none;color:inherit;transition:all 0.3s ease;background:white}.product-preview-item:hover{border-color:#2563eb;box-shadow:0 4px 12px rgba(37,99,235,0.15);transform:translateY(-2px)}.product-preview-image{flex-shrink:0;width:80px;height:80px;background:#f8fafc;border-radius:6px;overflow:hidden;position:relative}.product-preview-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease}.product-preview-item:hover .product-preview-image img{transform:scale(1.1)}.product-preview-overlay{position:absolute;inset:0;background:rgba(37,99,235,0.9);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.3s ease}.product-preview-item:hover .product-preview-overlay{opacity:1}.product-preview-overlay span{color:white;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}.product-preview-info{flex:1;display:flex;align-items:center}.product-preview-info strong{font-size:0.875rem;font-weight:600;color:#0a1628;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.view-all-products-link{flex:0 0 calc(50% - 0.5rem);display:flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.75rem;border:2px dashed #cbd5e1;border-radius:8px;text-decoration:none;color:#2563eb;font-weight:600;font-size:0.875rem;transition:all 0.3s ease;background:#f8fafc}.view-all-products-link:hover{border-color:#2563eb;background:#eff6ff;transform:translateY(-2px)}.view-all-products-link i{font-size:1rem}/* Responsive adjustments for product previews */ @media (max-width:1024px){.product-preview-item{flex:0 0 100%}.view-all-products-link{flex:0 0 100%}}@media (max-width:768px){.product-preview-section{margin-top:1rem}.product-preview-image{width:70px;height:70px}.product-preview-info strong{font-size:0.8125rem}}/* ============================================ FOOTER STYLES ============================================ */ .footer{background:linear-gradient(135deg,#09213a 0%,#1e3a5f 100%);color:white;padding:3rem 0 1.5rem;margin-top:4rem}.footer-content{max-width:1400px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem}.footer-brand{max-width:350px}.footer-logo{font-size:1.5rem;font-weight:700;color:white;text-decoration:none;display:inline-block;margin-bottom:1rem}.footer-description{color:rgba(255,255,255,0.8);font-size:0.9375rem;line-height:1.6;margin-bottom:1.5rem}.footer-social{display:flex;gap:1rem}.footer-location{font-size:0.875rem;color:rgba(255,255,255,0.6);margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,0.1)}.footer-social a{width:44px;height:44px;border-radius:8px;background:rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;color:white;text-decoration:none;transition:all 0.3s ease}.footer-social a:hover{background:rgba(255,255,255,0.2);transform:translateY(-2px)}.footer-section h4{font-size:1rem;font-weight:600;margin-bottom:1.25rem;color:white}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section ul li{margin-bottom:0.75rem}.footer-section ul li a{color:rgba(255,255,255,0.8);text-decoration:none;font-size:0.9375rem;transition:color 0.3s ease}.footer-section ul li a:hover{color:white}.footer-bottom{max-width:1400px;margin:0 auto;padding:2rem 2rem 0;border-top:1px solid rgba(255,255,255,0.1);margin-top:2.5rem}.footer-bottom-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-copyright{color:rgba(255,255,255,0.6);font-size:0.875rem}.footer-links{display:flex;gap:2rem}.footer-links a{color:rgba(255,255,255,0.6);text-decoration:none;font-size:0.875rem;transition:color 0.3s ease}.footer-links a:hover{color:white}/* Footer Responsive */ @media (max-width:1024px){.footer-content{grid-template-columns:1fr 1fr;gap:2rem}.footer-brand{max-width:100%}}@media (max-width:768px){.footer{padding:2rem 0 1rem}.footer-content{grid-template-columns:1fr;gap:2rem;padding:0 1.5rem}.footer-bottom{padding:1.5rem 1.5rem 0}.footer-bottom-content{flex-direction:column;text-align:center}.footer-links{flex-direction:column;gap:0.75rem}}