#promo-banner-carousel-container{margin:0 auto 2rem;max-width:1400px;position:relative;width:100%}.promo-banner-wrapper{border-radius:1rem;box-shadow:0 4px 12px rgba(0,0,0,.1);position:relative}.promo-banner-wrapper,.promo-carousel-track-container{overflow:hidden;width:100%}.promo-carousel-track{display:flex;transition:transform .6s cubic-bezier(.4,0,.2,1);will-change:transform}.promo-carousel-slide{flex:0 0 100%;width:100%}.promo-banner-card{background:#f3f4f6;overflow:hidden;position:relative;width:100%}.promo-banner-link{color:inherit;cursor:pointer;display:block;text-decoration:none}.promo-banner-image-container{background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden;padding-top:33.33%;position:relative;width:100%}@media (max-width:768px){.promo-banner-image-container{padding-top:56.25%}}.promo-banner-image{height:100%;left:0;object-fit:cover;position:absolute;top:0;transition:transform .3s ease;width:100%}.promo-banner-link:hover .promo-banner-image{transform:scale(1.05)}.promo-banner-caption{background:linear-gradient(0deg,rgba(0,0,0,.8) 0,rgba(0,0,0,.4) 70%,transparent);bottom:0;color:#fff;left:0;padding:2rem;position:absolute;right:0;z-index:2}@media (max-width:768px){.promo-banner-caption{padding:1.5rem 1rem}}.promo-banner-title{animation:fadeInUp .6s ease-out;font-size:2rem;font-weight:700;line-height:1.2;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}@media (max-width:768px){.promo-banner-title{font-size:1.5rem}}@media (max-width:480px){.promo-banner-title{font-size:1.25rem}}.promo-banner-subtitle{animation:fadeInUp .6s ease-out .1s backwards;font-size:1.125rem;line-height:1.5;margin-bottom:1rem;opacity:.95;text-shadow:1px 1px 3px rgba(0,0,0,.5)}@media (max-width:768px){.promo-banner-subtitle{font-size:1rem;margin-bottom:.75rem}}@media (max-width:480px){.promo-banner-subtitle{font-size:.875rem}}.promo-cta-button{animation:fadeInUp .6s ease-out .2s backwards;background:#059669;border:none;border-radius:.5rem;box-shadow:0 4px 6px rgba(5,150,105,.3);color:#fff;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .3s ease}.promo-cta-button:hover{background:#047857;box-shadow:0 6px 12px rgba(5,150,105,.4);transform:translateY(-2px)}.promo-cta-button:active{transform:translateY(0)}@media (max-width:768px){.promo-cta-button{font-size:.875rem;padding:.625rem 1.5rem}}.promo-carousel-nav{align-items:center;backdrop-filter:blur(4px);background:hsla(0,0%,100%,.95);border:none;border-radius:50%;box-shadow:0 4px 8px rgba(0,0,0,.15);color:#059669;cursor:pointer;display:flex;height:3rem;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:3rem;z-index:10}.promo-carousel-nav:hover{background:#059669;box-shadow:0 6px 16px rgba(0,0,0,.2);color:#fff;transform:translateY(-50%) scale(1.1)}.promo-carousel-nav:active{transform:translateY(-50%) scale(.95)}.promo-carousel-prev{left:1rem}.promo-carousel-next{right:1rem}@media (max-width:768px){.promo-carousel-nav{height:2.5rem;width:2.5rem}.promo-carousel-prev{left:.5rem}.promo-carousel-next{right:.5rem}}.promo-carousel-dots{display:flex;gap:.5rem;justify-content:center;margin-top:1rem}.promo-carousel-dot{background:#d1d5db;border:none;border-radius:50%;cursor:pointer;height:1.5rem;padding:0;transition:all .3s ease;width:1.5rem}.promo-carousel-dot:hover{background:#9ca3af;transform:scale(1.2)}.promo-carousel-dot.active{background:#059669;border-radius:.75rem;width:2.5rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.promo-carousel-loading{background:#f3f4f6;border-radius:1rem;color:#6b7280;padding:3rem 1rem;text-align:center}.promo-carousel-loading svg{animation:spin 1s linear infinite;height:3rem;margin:0 auto 1rem;width:3rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.promo-carousel-empty{background:#f9fafb;border-radius:1rem;color:#9ca3af;padding:3rem 1rem;text-align:center}.promo-carousel-empty svg{height:4rem;margin:0 auto 1rem;width:4rem}.promo-carousel-dot:focus,.promo-carousel-nav:focus{outline:2px solid #059669;outline-offset:2px}@media print{#promo-banner-carousel-container{display:none}}@media (prefers-reduced-motion:reduce){.promo-banner-image,.promo-carousel-nav,.promo-carousel-track,.promo-cta-button{transition:none}.promo-banner-subtitle,.promo-banner-title,.promo-cta-button{animation:none}}