.footer{background:var(--bg-footer,#ffffff);border-top:1px solid var(--border-color,#e2e8f0);margin-top:1rem;padding:1.25rem 0 1rem;color:var(--text-1,#1e293b);transition:background-color 0.2s}[data-theme="dark"] .footer,html[data-theme="dark"] .footer{background:var(--bg-footer,#1a1a1a);border-top-color:#333333;color:var(--text-1,#e2e8f0)}.footer .container{max-width:100%}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:1rem;padding:0 var(--container-padding,1.5rem)}.footer-brand{display:flex;flex-direction:column;gap:0.75rem;padding-right:0.75rem}.footer-logo{display:flex;align-items:center;height:32px;margin-bottom:0}.footer-logo svg{max-width:100%;height:auto}.footer-description{font-size:0.85rem;line-height:1.5;margin:0;color:var(--text-2,#475569);max-width:250px;font-weight:400}[data-theme="dark"] .footer-description{color:var(--text-2,#94a3b8)}.footer-social{display:flex;gap:0.5rem;align-items:center;margin:0.3rem 0 0 0}.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:rgba(245,158,11,0.08);color:var(--amber-text,#b45309);font-size:0.9rem;text-decoration:none;transition:all 0.2s cubic-bezier(0.2,0.3,0.25,0.46);border:1px solid rgba(245,158,11,0.12)}.footer-social a:hover,.footer-social a:focus{background:rgba(245,158,11,0.2);color:var(--amber,#f59e0b);transform:translateY(-2px);border-color:rgba(245,158,11,0.3)}[data-theme="dark"] .footer-social a{background:rgba(245,158,11,0.12);color:var(--amber,#f59e0b);border-color:rgba(245,158,11,0.2)}[data-theme="dark"] .footer-social a:hover,[data-theme="dark"] .footer-social a:focus{background:rgba(245,158,11,0.2);border-color:rgba(245,158,11,0.35)}.footer-contact{margin-top:0.3rem;font-size:0.85rem}.footer-contact p{margin:0.25rem 0;line-height:1.4}.footer-contact-label{font-weight:600;color:var(--text-1,#1e293b);margin:0.3rem 0 0.2rem 0}[data-theme="dark"] .footer-contact-label{color:var(--text-2,#94a3b8)}.footer-contact-phone{color:var(--text-2,#475569);margin:0.25rem 0}[data-theme="dark"] .footer-contact-phone{color:var(--text-2,#94a3b8)}.footer-contact-phone a{color:var(--amber-text,#b45309);text-decoration:none;font-weight:500;transition:color 0.2s}.footer-contact-phone a:hover{color:var(--amber,#f59e0b);text-decoration:underline}[data-theme="dark"] .footer-contact-phone a{color:var(--amber,#f59e0b)}.footer-col{display:flex;flex-direction:column;gap:0.4rem}.footer-col-heading{font-size:0.9rem;font-weight:700;margin:0;padding-bottom:0.5rem;border-bottom:1px solid rgba(245,158,11,0.15);color:var(--text-1,#1e293b);letter-spacing:0.2px}[data-theme="dark"] .footer-col-heading{color:var(--text-1,#e2e8f0);border-bottom-color:rgba(245,158,11,0.2)}.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.3rem}.footer-col ul li{margin:0;padding:0}.footer-col a{display:inline-block;color:var(--text-2,#475569);text-decoration:none;font-size:0.85rem;line-height:1.3;padding:0.15rem 0;transition:all 0.2s;position:relative}.footer-col a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--amber,#f59e0b);transition:width 0.3s cubic-bezier(0.2,0.3,0.25,0.46)}.footer-col a:hover{color:var(--amber-text,#b45309)}.footer-col a:hover::after{width:100%}[data-theme="dark"] .footer-col a{color:var(--text-2,#94a3b8)}[data-theme="dark"] .footer-col a:hover{color:var(--amber,#f59e0b)}.footer-bottom{border-top:1px solid var(--border-color,#e2e8f0);padding:0.75rem var(--container-padding,1.5rem) 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.5rem}[data-theme="dark"] .footer-bottom{border-top-color:#333333}.footer-bottom p{margin:0;font-size:0.8rem;color:var(--text-2,#475569);display:flex;gap:0.75rem;align-items:center;flex-wrap:wrap}[data-theme="dark"] .footer-bottom p{color:var(--text-2,#94a3b8)}.footer-bottom a{color:var(--amber-text,#b45309);text-decoration:none;transition:color 0.2s;font-weight:500}.footer-bottom a:hover{color:var(--amber,#f59e0b);text-decoration:underline}[data-theme="dark"] .footer-bottom a{color:var(--amber,#f59e0b)}.footer-tag{color:var(--text-3,#94a3b8);font-size:0.8rem;font-weight:400}[data-theme="dark"] .footer-tag{color:var(--text-3,#64748b)}@media (max-width:1024px){.footer-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem;padding:0 1.5rem}.footer-brand{grid-column:1 / -1;padding-right:0;border-bottom:1px solid var(--border-color,#e2e8f0);padding-bottom:2rem;margin-bottom:1rem}[data-theme="dark"] .footer-brand{border-bottom-color:#333333}.footer-col-heading{font-size:0.95rem}}@media (max-width:768px){.footer{padding:2.5rem 0 1.5rem;margin-top:3rem}.footer-grid{grid-template-columns:1fr;gap:2rem;padding:0 1rem}.footer-brand{grid-column:auto;padding-right:0;border-bottom:1px solid var(--border-color,#e2e8f0);padding-bottom:2rem;margin-bottom:1rem}[data-theme="dark"] .footer-brand{border-bottom-color:#333333}.footer-description{font-size:0.88rem;max-width:100%}.footer-logo{height:36px}.footer-social{gap:0.6rem}.footer-social a{width:36px;height:36px;font-size:0.9rem}.footer-col{gap:0.6rem}.footer-col-heading{font-size:0.95rem;padding-bottom:0.6rem}.footer-col a{font-size:0.88rem}.footer-col:last-child ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem}.footer-bottom{flex-direction:column;align-items:flex-start;padding:1.25rem 1rem 0}.footer-bottom p{font-size:0.8rem;width:100%}.footer-bottom p:last-child{margin-top:0.5rem}}@media (max-width:480px){.footer{padding:2rem 0 1.25rem;margin-top:2rem}.footer-grid{gap:1.5rem;padding:0 0.75rem}.footer-brand{padding-bottom:1.5rem;margin-bottom:0.75rem;gap:1rem}.footer-description{font-size:0.85rem}.footer-logo{height:32px}.footer-social{gap:0.5rem}.footer-social a{width:34px;height:34px;font-size:0.85rem}.footer-col{gap:0.5rem}.footer-col-heading{font-size:0.9rem;padding-bottom:0.5rem}.footer-col a{font-size:0.85rem;padding:0.2rem 0}.footer-bottom{padding:1rem 0.75rem 0}.footer-bottom p{font-size:0.75rem}}@media print{.footer{page-break-inside:avoid;margin-top:2rem;padding:1rem 0;border-top:1px solid #ccc}.footer-grid{break-inside:avoid}}.footer .footer-col li a,.footer .footer-bottom a,.footer .footer-contact a{display:inline-block;min-height:24px;line-height:24px}.footer .footer-social a{min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center}.footer-contact-hours{margin:.2rem 0 0;font-size:.85rem;color:var(--text-2,#475569)}