@keyframes background-float{0%,to{transform:translateX(0) translateY(0)}25%{transform:translateX(-2px) translateY(-1px)}50%{transform:translateX(1px) translateY(-2px)}75%{transform:translateX(-1px) translateY(1px)}}@keyframes status-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}@layer components{.contact-bar{position:relative;overflow:hidden;padding:var(--space-12)0;color:var(--text-on-purple);background:linear-gradient(135deg,rgb(92 31 113/95%)0,rgb(123 43 133/90%) 50%,rgb(168 85 184/85%) 100%);box-shadow:0 8px 32px rgb(92 31 113/30%)}.contact-bar::before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="20" cy="20" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="80" cy="40" r="0.5" fill="rgba(255,255,255,0.05)"/><circle cx="40" cy="80" r="1.5" fill="rgba(255,255,255,0.08)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');pointer-events:none;animation:background-float 20s ease-in-out infinite}.contact-items{position:relative;z-index:2;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-10)}.contact-icon,.contact-item{position:relative;display:flex;align-items:center}.contact-item{gap:var(--space-6);padding:var(--space-8);overflow:hidden;background:rgb(255 255 255/15%);border:1px solid rgb(255 255 255/30%);border-radius:var(--border-radius-xl);box-shadow:0 8px 32px rgb(0 0 0/20%);cursor:pointer;backdrop-filter:blur(20px);transition:all .4s cubic-bezier(.4,0,.2,1)}.contact-item::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255/20%),transparent);transition:left .6s ease}.contact-icon{justify-content:center;flex-shrink:0;width:70px;height:70px;font-size:1.8rem;color:var(--primary-color);background:linear-gradient(135deg,rgb(255 255 255/90%)0,rgb(255 255 255/70%) 100%);border-radius:var(--radius-circle);box-shadow:0 8px 24px rgb(0 0 0/20%)}.contact-icon::after{content:"";position:absolute;inset:-2px;z-index:-1;background:linear-gradient(135deg,rgb(255 255 255/50%),rgb(255 255 255/10%));border-radius:var(--radius-circle);opacity:0;transition:opacity .4s ease}.interactive-contact{position:relative;overflow:hidden;cursor:pointer;transform:translateZ(0);transition:all .3s ease;will-change:transform}.interactive-contact::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(92 31 113/10%),transparent);transition:left .6s ease}.interactive-arrow{position:absolute;top:50%;right:15px;font-size:1.2rem;opacity:.6;transform:translateY(-50%);transition:all .3s ease}@media (hover:hover) and (pointer:fine){.contact-item:hover{background:rgb(255 255 255/25%);box-shadow:0 16px 48px rgb(0 0 0/30%);transform:translateY(-8px) scale(1.02);border-color:rgb(255 255 255/50%)}.contact-item:hover::before,.interactive-contact:hover::before{left:100%}.contact-item:hover .contact-icon{box-shadow:0 12px 32px rgb(0 0 0/30%);transform:rotate(12deg) scale(1.1)}.contact-item:hover .contact-icon::after{opacity:1}.interactive-contact:hover{box-shadow:0 6px 20px rgb(92 31 113/15%);transform:translateY(-2px) translateZ(0)}.interactive-contact:hover .interactive-arrow{opacity:1;transform:translateY(-50%) translateX(5px)}}.contact-info h4,.contact-info p{text-shadow:0 1px 2px rgb(0 0 0/20%)}.contact-info h4{margin-bottom:var(--space-2);font-family:var(--font-family-secondary);font-size:.9rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:rgb(255 255 255/90%)}.contact-info p{margin:0;font-size:1.1rem;font-weight:600;line-height:1.4;color:var(--text-on-purple)}.contact-info p+p{margin-top:.3rem;font-size:var(--text-base);opacity:.9}.store-status-item{position:relative}.store-status-item .contact-info.store-open .store-status-header{color:var(--status-open);text-shadow:0 0 10px rgb(144 238 144/50%),0 1px 2px rgb(0 0 0/20%)}.store-status-item .contact-info.store-closed .store-status-header{color:var(--status-closed);text-shadow:0 0 10px rgb(255 182 193/50%),0 1px 2px rgb(0 0 0/20%)}.store-status-header{display:flex;align-items:center;gap:8px;font-size:1.1rem!important;font-weight:var(--font-bold);letter-spacing:1px}.store-status-item .contact-info.store-open .store-status-header::before{content:"";display:inline-block;width:10px;height:10px;background:var(--status-open);border-radius:var(--radius-circle);box-shadow:0 0 8px rgb(144 238 144/80%);animation:status-pulse 2s infinite}.store-status-item .contact-info.store-closed .store-status-header::before{content:"";display:inline-block;width:10px;height:10px;background:var(--status-closed);border-radius:var(--radius-circle);box-shadow:0 0 8px rgb(255 182 193/80%);animation:status-pulse 2s infinite}.store-status-detail{font-size:1rem!important;opacity:.95}@media (max-width:768px){.contact-bar{padding:var(--space-10)0}.contact-items{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-6)}.contact-item{flex:1 1 calc(50% - var(--space-3));gap:1.2rem;padding:var(--space-6)}.contact-icon{width:60px;height:60px;font-size:var(--text-2xl)}.contact-info h4{font-size:.8rem}.contact-info p{font-size:var(--text-base)}.contact-info p+p{font-size:.9rem}}@media (max-width:480px){.contact-bar{padding:var(--space-8)0}.contact-item,.contact-items{gap:var(--space-4)}.contact-item{flex-direction:column;padding:1.2rem;text-align:center}.contact-icon{width:55px;height:55px;font-size:1.4rem}.contact-info h4{margin-bottom:.3rem;font-size:var(--text-xs)}.contact-info p{font-size:.95rem;line-height:1.3}.contact-info p+p{margin-top:.2rem;font-size:.85rem}}@media (max-width:480px) and (hover:hover) and (pointer:fine){.contact-item:hover{transform:translateY(-4px) scale(1.01)}.contact-item:hover .contact-icon{transform:rotate(8deg) scale(1.05)}}.contact-bar .contact-item:focus-visible,.contact-bar .interactive-contact:focus-visible,.contact-bar a:focus-visible,.contact-bar button:focus-visible{outline:3px solid var(--text-on-purple);outline-offset:2px;box-shadow:0 0 0 6px var(--purple-500)}}