html,body{height:100%;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}:root[data-theme=light]{--bg-color:#fff;--text-color:#0a1a2f;--accent-color:#00aeef;--box-bg:#f9f9f9}:root[data-theme=dark]{--bg-color:#0a1a2f;--text-color:#f2f2f2;--accent-color:#00aeef;--box-bg:#101f33}main{background-color:var(--bg-color);min-height:100vh;color:var(--text-color);box-sizing:border-box;flex-direction:column;padding:80px 0 10px;display:flex}.contact-wrapper{background-color:var(--bg-color);color:var(--text-color);flex-direction:column;flex:1;justify-content:flex-start;align-items:center;padding:0 24px 20px;display:flex}.contact-grid{grid-template-columns:3fr 2fr;align-items:stretch;gap:20px;width:100%;max-width:1200px;margin:0;display:grid}.contact-block{background-color:var(--box-bg);border:1px solid var(--accent-color);border-radius:10px;flex-direction:column;justify-content:space-between;padding:20px;display:flex;box-shadow:0 0 12px #00aeef40}.contact-info-block{text-align:left;gap:8px}.contact-info-block h4{color:var(--accent-color);margin:2px 0 0;font-size:18px;font-weight:700}.contact-info-block p{color:var(--text-color);margin:0;font-size:15px}.hours-grid{grid-template-columns:max-content max-content;justify-content:start;align-items:center;gap:4px 6px;display:grid}.day,.time{color:var(--text-color);text-align:left;font-size:15px}.availability{color:var(--accent-color);margin-top:6px;font-size:14px;font-style:italic}.link{color:var(--text-color);font-weight:600;text-decoration:none;transition:color .3s}.link:hover{color:#00aeef;text-decoration:none}.social-icons{gap:10px;margin:6px 0 10px;display:flex}.icon{background-color:var(--accent-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;text-decoration:none;transition:background-color .3s,box-shadow .3s;display:flex}.icon:hover{background-color:#08c;box-shadow:0 0 6px #00aeef80}.map-container{border-radius:8px;width:100%;height:200px;margin-top:10px;overflow:hidden;box-shadow:0 0 8px #00aeef33}.map-container iframe{border:none;width:100%;height:100%}.contact-form-block{text-align:left;flex-direction:column;justify-content:center;display:flex}.contact-form{flex-direction:column;gap:8px;width:100%;max-width:500px;margin:0 auto;display:flex}.contact-form label{color:var(--accent-color);margin-bottom:1px;font-size:14px;font-weight:600}.contact-form input,.contact-form select,.contact-form textarea{border:1px solid var(--accent-color);background-color:var(--box-bg);color:var(--text-color);border-radius:8px;padding:8px 10px;font-size:14px;transition:border-color .3s,box-shadow .3s}.contact-form input:focus,.contact-form textarea:focus{border-color:#08c;outline:none;box-shadow:0 0 6px #00aeef66}.contact-form select{border:1px solid var(--accent-color);background-color:var(--box-bg);color:var(--text-color);appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--accent-color) 50%), linear-gradient(135deg, var(--accent-color) 50%, transparent 50%);background-position:calc(100% - 20px) calc(1em + 2px),calc(100% - 15px) calc(1em + 2px);background-repeat:no-repeat;background-size:5px 5px;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:600;transition:border-color .3s,box-shadow .3s}.contact-form select:hover{border-color:#08c;box-shadow:0 0 6px #00aeef66}.contact-form select:focus{border-color:#08c;outline:none;box-shadow:0 0 8px #00aeef80}.contact-form button{background-color:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:10px;padding:12px;font-size:15px;font-weight:700;transition:background-color .3s,box-shadow .3s}.contact-form button:hover{background-color:#08c;box-shadow:0 0 8px #00aeef80}.optional-address{border-top:1px solid #00aeef4d;flex-direction:column;gap:6px;margin-top:12px;padding-top:8px;display:flex}.optional-address .address-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.optional-address label{color:var(--accent-color);text-align:left;flex:1;font-size:13px;font-weight:600}.optional-address input{border:1px solid var(--accent-color);background-color:var(--bg-color);color:var(--text-color);border-radius:6px;flex:2;padding:7px 9px;font-size:13px}
