/* AR HUB - Ultimate Styles (Corporate) */
.artmc-social-wrapper, .artmc-info-wrapper { display: flex; flex-wrap: wrap; width: 100%; align-items: center; }
.artmc-social-i, .artmc-info-icon-wrap { transition: all 0.3s ease-in-out; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; }

/* Shape Classes for Social */
.artmc-shape-square .artmc-social-i { border-radius: 0; }
.artmc-shape-rounded .artmc-social-i { border-radius: 12px; }
.artmc-shape-circle .artmc-social-i { border-radius: 50%; }

/* Icon & SVG Tamers */
.artmc-social-i i, .artmc-info-icon-wrap i { transition: color 0.3s ease; display: flex; align-items: center; justify-content: center; line-height: 1; }
.artmc-social-i svg, .artmc-info-icon-wrap svg { transition: fill 0.3s ease; display: block; }

/* Brand Colors - Applied to Icon ONLY */
.artmc-brand-icon-facebook i { color: #1877F2 !important; }
.artmc-brand-icon-facebook svg { fill: #1877F2 !important; }

.artmc-brand-icon-x_twitter i { color: #000000 !important; }
.artmc-brand-icon-x_twitter svg { fill: #000000 !important; }

.artmc-brand-icon-instagram i { background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.artmc-brand-icon-instagram svg { fill: #E1306C !important; }

.artmc-brand-icon-linkedin i { color: #0A66C2 !important; }
.artmc-brand-icon-linkedin svg { fill: #0A66C2 !important; }

.artmc-brand-icon-youtube i { color: #FF0000 !important; }
.artmc-brand-icon-youtube svg { fill: #FF0000 !important; }

.artmc-brand-icon-tiktok i { color: #000000 !important; }
.artmc-brand-icon-tiktok svg { fill: #000000 !important; }

/* High-contrast Snapchat Icon Fix for WCAG 2.1 AA */
.artmc-brand-icon-snapchat i { color: #D1B800 !important; text-shadow: 0px 1px 2px rgba(0,0,0,0.6); }
.artmc-brand-icon-snapchat svg { fill: #D1B800 !important; filter: drop-shadow(0px 1px 2px rgba(0,0,0,0.6)); }

/* Brand Colors - Applied to Background ONLY */
.artmc-brand-bg-facebook { background-color: #1877F2 !important; border-color: #1877F2 !important; }
.artmc-brand-bg-facebook i { color: #ffffff !important; }
.artmc-brand-bg-facebook svg { fill: #ffffff !important; }

.artmc-brand-bg-x_twitter { background-color: #000000 !important; border-color: #000000 !important; }
.artmc-brand-bg-x_twitter i { color: #ffffff !important; }
.artmc-brand-bg-x_twitter svg { fill: #ffffff !important; }

.artmc-brand-bg-instagram { background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important; border-color: transparent !important; }
.artmc-brand-bg-instagram i { background: none !important; -webkit-text-fill-color: #ffffff !important; color: #ffffff !important; }
.artmc-brand-bg-instagram svg { fill: #ffffff !important; }

.artmc-brand-bg-linkedin { background-color: #0A66C2 !important; border-color: #0A66C2 !important; }
.artmc-brand-bg-linkedin i { color: #ffffff !important; }
.artmc-brand-bg-linkedin svg { fill: #ffffff !important; }

.artmc-brand-bg-youtube { background-color: #FF0000 !important; border-color: #FF0000 !important; }
.artmc-brand-bg-youtube i { color: #ffffff !important; }
.artmc-brand-bg-youtube svg { fill: #ffffff !important; }

.artmc-brand-bg-tiktok { background-color: #000000 !important; border-color: #000000 !important; }
.artmc-brand-bg-tiktok i { color: #ffffff !important; }
.artmc-brand-bg-tiktok svg { fill: #ffffff !important; }

.artmc-brand-bg-snapchat { background-color: #FFFC00 !important; border-color: #FFFC00 !important; }
.artmc-brand-bg-snapchat i { color: #000000 !important; text-shadow: none !important; }
.artmc-brand-bg-snapchat svg { fill: #000000 !important; filter: none !important; }

/* Social Hover Animations */
.artmc-hover-grow:hover { transform: scale(1.15); }
.artmc-hover-shrink:hover { transform: scale(0.9); }
.artmc-hover-lift:hover { transform: translateY(-5px); box-shadow: 0 5px 15px rgba(0,0,0,0.15); }
.artmc-hover-pulse:hover { animation: artmcPulse 1s infinite; }
@keyframes artmcPulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.08); }
    100% { transform: scale(1); }
}

/* Info Box */
.artmc-info-item { display: flex; align-items: center; transition: all 0.3s ease; }
.artmc-info-item a, .artmc-info-item span.artmc-info-text { text-decoration: none; transition: color 0.3s ease; display: inline-flex; align-items: center; line-height: 1; margin: 0; padding: 0; }

/* Form Styling */
.artmc-hub-form { display: flex; flex-direction: column; width: 100%; box-sizing: border-box; }
.artmc-field-group { display: flex; flex-direction: column; width: 100%; }
.artmc-field-label { display: block; font-weight: 600; cursor: pointer; }
.artmc-hub-form input, .artmc-hub-form textarea { width: 100%; box-sizing: border-box; transition: all 0.3s ease; }
.artmc-submit-btn { transition: all 0.3s ease; border: none; cursor: pointer; display: inline-block; }
.cf-turnstile { margin: 4px 0; }

/* Keyboard-visible focus indicator. A default is provided here so the form
   is accessible (WCAG 2.4.7) even on sites where the Elementor "Focus"
   style-tab controls were never touched by the site owner. */
.artmc-hub-form input:focus,
.artmc-hub-form textarea:focus,
.artmc-news-input:focus {
    outline: 2px solid transparent;
    border-color: #2271b1;
    box-shadow: 0 0 0 3px rgba(34, 113, 177, 0.35);
}

/* Form status messages (Ultimate Form widget) */
.artmc-alert-success,
.artmc-alert-error {
    border-radius: 5px;
    padding: 15px;
    margin-bottom: 20px;
    text-align: center;
    font-weight: 600;
}
.artmc-alert-success { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.artmc-alert-error { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }

/* Map Styling */
.artmc-map-container { display: flex; flex-direction: column; }
.artmc-map-frame { overflow: hidden; width: 100%; position: relative; }
.artmc-map-frame iframe { width: 100% !important; height: 100% !important; border: 0; display: block; }
.artmc-map-info { padding: 15px 0; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 15px; transition: all 0.3s ease; width: 100%; }
.artmc-map-info a { text-decoration: none; transition: color 0.3s ease; display: inline-flex; align-items: center; gap: 8px; font-weight: bold; }