.vendor-details-page{margin-top:5rem;min-height:100vh;background:linear-gradient(180deg,#f7fafc 0,#ffffff)}.vendor-banner{position:relative;width:100%;height:450px;overflow:hidden;margin-bottom:0}.vendor-banner:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.3) 70%,rgba(0,0,0,.6));z-index:1}.vendor-banner img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.vendor-banner:hover img{transform:scale(1.05)}.company-title-section{position:relative;z-index:2;margin-top:-80px;padding:0 2rem;text-align:center}.company-title{font-size:3rem;font-weight:700;color:#ffffff;text-shadow:2px 2px 8px rgba(0,0,0,.5);margin-bottom:1rem}.rating-section{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem;flex-wrap:wrap}.rating-badge{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;color:#1a202c}.rating-badge,.reviews-badge{background:rgba(255,255,255,.95);padding:.75rem 1.5rem;border-radius:50px;box-shadow:0 4px 12px rgba(0,0,0,.15)}.reviews-badge{font-size:1rem;font-weight:500;color:#4a5568}.vendor-content{display:grid;grid-template-columns:1fr 400px;gap:2rem;max-width:1400px;margin:0 auto;padding:2rem}.vendor-details-section{display:flex;flex-direction:column;gap:2rem}.details-card{background:#ffffff;padding:2rem;border-radius:16px;box-shadow:0 4px 6px rgba(0,0,0,.07);transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid #e2e8f0}.details-card:hover{box-shadow:0 12px 24px rgba(0,0,0,.12);transform:translateY(-2px)}.details-card h3{font-size:1.75rem;font-weight:700;color:#1a202c;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:3px solid #007bff}.details-card p{font-size:1rem;line-height:1.8;color:#4a5568;margin-bottom:1rem}.details-card strong{color:#2d3748;font-weight:600}.field-name{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.field-name:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.field-name label{display:block;font-size:.875rem;font-weight:600;color:#007bff;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.field-value{font-size:1rem;color:#2d3748;line-height:1.6}.gallery-section{margin-top:1.5rem}.gallery-title{font-size:1.75rem;font-weight:700;color:#1a202c;margin-bottom:1.5rem;margin-top:2rem}.gallery-title:first-child{margin-top:0}.gallery-grid,.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem;margin-top:1.5rem}.gallery-item,.video-item{position:relative;border-radius:16px;overflow:hidden;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);aspect-ratio:1;background:#f7fafc;border:2px solid transparent;box-shadow:0 4px 6px rgba(0,0,0,.08);pointer-events:auto}.gallery-item *{pointer-events:none}.gallery-item{pointer-events:auto}.gallery-item:before,.video-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent 0,transparent 60%,rgba(0,0,0,.4));opacity:0;transition:opacity .3s ease;z-index:1;border-radius:16px}.gallery-item:hover:before,.video-item:hover:before{opacity:1}.gallery-item:hover,.video-item:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 16px 32px rgba(0,0,0,.2);border-color:#007bff}.gallery-item img,.video-item video{width:100%;height:100%;object-fit:cover;border-radius:14px;transition:transform .5s ease}.gallery-item:hover img,.video-item:hover video{transform:scale(1.1)}.video-item:after{content:"▶";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:4rem;color:white;text-shadow:0 4px 12px rgba(0,0,0,.6);pointer-events:none;z-index:2;background:rgba(0,123,255,.8);width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 12px rgba(0,123,255,.4)}.video-item:hover:after{transform:translate(-50%,-50%) scale(1.1);background:rgba(0,123,255,.95);box-shadow:0 6px 20px rgba(0,123,255,.6)}.gallery-item:after{content:"🔍";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2.5rem;opacity:0;transition:opacity .3s ease;z-index:2;pointer-events:none}.gallery-item:hover:after{opacity:1}.gallery-empty,.video-empty{text-align:center;padding:3rem 1rem;color:#718096;font-size:1.1rem;background:#f7fafc;border-radius:12px;border:2px dashed #cbd5e0}.vendor-sidebar{position:sticky;top:6rem;height:fit-content;background:#ffffff;padding:2rem;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.1);border:1px solid #e2e8f0}.vendor-sidebar h3{font-size:1.75rem;font-weight:700;margin-bottom:1.5rem;text-align:center;color:#1a202c}.contact-form{margin-top:1rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem;color:#2d3748;text-transform:uppercase;letter-spacing:.5px}.form-group input{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;background:#ffffff;color:#1a202c;transition:all .3s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,.1)}.form-group input::placeholder{color:#a0aec0}.btn{width:100%;padding:1rem 2rem;font-size:1.1rem;font-weight:600;color:#ffffff;background:#007bff;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;margin-top:1rem}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,123,255,.3);background:#0056b3}.btn:disabled{opacity:.7;cursor:not-allowed}.btn-primary{background:#007bff;color:#ffffff}.rating-container{display:flex;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.rating-container p{margin:0;font-weight:600;color:#2d3748}.popup-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.popup-content{background:white;padding:2.5rem;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);text-align:center;max-width:450px;width:90%;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.popup-content p{font-size:1.25rem;color:#2d3748;margin-bottom:1.5rem;line-height:1.6}.popup-close-btn{padding:.75rem 2rem;background:#007bff;color:white;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.popup-close-btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,123,255,.3);background:#0056b3}.video-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.9);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .3s ease}.video-modal-content{position:relative;width:90%;max-width:900px;background:#000;padding:1rem;border-radius:12px;animation:slideUp .3s ease}.video-modal-content video{width:100%;max-height:80vh;border-radius:8px}.close-btn{position:absolute;top:1rem;right:1rem;background:rgba(255,255,255,.9);border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;color:#1a202c;z-index:10}.close-btn:hover{background:white;transform:rotate(90deg)}.alert{padding:1rem;border-radius:8px;margin-top:1rem}.alert-warning{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}@media (max-width:1024px){.vendor-content{grid-template-columns:1fr;gap:2rem}.vendor-sidebar{position:relative;top:0}}@media (max-width:768px){.vendor-details-page{margin-top:4.5rem}.vendor-banner{height:300px}.company-title{font-size:2rem}.company-title-section{margin-top:-60px;padding:0 1rem}.rating-section{flex-direction:column;gap:.75rem}.rating-badge,.reviews-badge{font-size:.9rem;padding:.5rem 1rem}.vendor-content{padding:1rem;gap:1.5rem}.details-card{padding:1.5rem}.details-card h3{font-size:1.5rem}.gallery-grid,.video-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.vendor-sidebar{padding:1.5rem}.vendor-sidebar h3{font-size:1.5rem}}@media (max-width:480px){.vendor-banner{height:250px}.company-title{font-size:1.75rem}.details-card{padding:1rem}.details-card h3{font-size:1.25rem}.gallery-grid,.video-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.vendor-sidebar{padding:1rem}.popup-content{padding:1.5rem}.popup-content p{font-size:1rem}}