#contact{background:var(--surface);position:relative;overflow:hidden}#contact:before{content:"";position:absolute;top:-100px;right:-100px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(26,127,168,.06) 0,transparent 70%);pointer-events:none}.contact-header{text-align:center;margin-bottom:52px}.contact-header .section-sub{margin:0 auto}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;grid-gap:48px;gap:48px;align-items:start}.contact-info{display:flex;flex-direction:column;gap:14px}.contact-card{display:flex;align-items:flex-start;gap:16px;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;transition:all .25s;text-decoration:none;color:inherit}.contact-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-sm);transform:translateX(4px)}.contact-card-icon{width:46px;height:46px;border-radius:10px;background:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .25s}.contact-card:hover .contact-card-icon{background:var(--primary-dark)}.contact-card-icon svg{width:20px;height:20px;color:#fff}.contact-card-body strong{display:block;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:4px}.contact-card-body p,.contact-card-body span{font-size:.93rem;font-weight:700;color:var(--text);line-height:1.5}.contact-card-body p{font-weight:400;font-size:.86rem;color:var(--text-muted)}.contact-card.clickable .contact-card-body span{color:var(--primary)}.contact-card.clickable:hover .contact-card-body span{color:var(--primary-dark)}.hours-card{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.hours-card-title{display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:14px}.hours-card-title svg{width:16px;height:16px;color:var(--accent)}.hours-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:.87rem}.hours-row:last-child{border-bottom:none}.hours-row .day{font-weight:700;color:var(--text)}.hours-row .time{color:var(--text-muted);font-weight:600}.hours-row .time.open{color:var(--primary);font-weight:700}.hours-row .time.closed{color:#e05555}.contact-socials{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;margin-bottom:24px}.contact-social-btn{width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--primary);border:2px solid var(--border);border-radius:12px;text-decoration:none;cursor:pointer;transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s ease}.contact-social-btn svg{display:block;width:18px;height:18px;flex-shrink:0}.contact-social-btn:hover{color:#fff;transform:translateY(-2px)}.contact-social-btn.facebook:hover{background:#1877f2;border-color:#1877f2}.contact-social-btn.instagram:hover{background:#e4405f;border-color:#e4405f}.contact-social-btn.whatsapp:hover{background:#25d366;border-color:#25d366}.contact-social-btn.youtube:hover{background:red;border-color:red}.contact-form-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px 32px;box-shadow:var(--shadow-sm)}.contact-form-wrap h3{font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--text);margin-bottom:6px}.contact-form-wrap p{font-size:.86rem;color:var(--text-muted);margin-bottom:26px}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-bottom:14px}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-group label{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:.92rem;font-family:var(--font-body);transition:border-color .2s,box-shadow .2s;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px rgba(26,127,168,.12);background:var(--surface)}.form-group textarea{resize:vertical;min-height:100px}.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234e6e80' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}.form-submit{width:100%;padding:13px;background:var(--primary);color:#fff;border:none;border-radius:50px;font-size:.95rem;font-weight:800;font-family:var(--font-body);cursor:pointer;transition:all .25s;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:6px}.form-submit:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.form-submit svg{width:16px;height:16px}.form-success{flex-direction:column;gap:12px;padding:40px 20px;text-align:center;animation:fadeUp .4s ease both}.form-success,.form-success .success-icon{display:flex;align-items:center;justify-content:center}.form-success .success-icon{width:64px;height:64px;border-radius:50%;background:#e6f9ef;font-size:2rem}.form-success h4{font-size:1.2rem;font-weight:800;color:var(--text)}.form-success p{margin:0}.contact-map,.form-success p{font-size:.88rem;color:var(--text-muted)}.contact-map{margin-top:48px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);height:300px;background:var(--surface-alt);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;font-weight:600}.contact-map iframe{width:100%;height:100%;border:none;display:block}.contact-map .map-placeholder-icon{font-size:2.5rem;opacity:.4}@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:36px}}@media (max-width:540px){.contact-form-wrap{padding:24px 18px}.form-row{grid-template-columns:1fr;gap:0}}