/* Only behavior, focus, and exported-asset repairs; original design lives in vendor CSS. */
[hidden] { display:none !important; }
:focus-visible { outline:2px solid #665044; outline-offset:4px; }
.elementor-location-header { position:static; }
.site-dialog:not([open]) { display:none; }
.site-dialog[open] { display:flex;position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:16px;border:0;background:transparent; }
.site-dialog::backdrop { background:transparent; }
.site-dialog .dialog-widget-content { max-height:calc(100dvh - 32px);max-width:100%;overflow:auto; }
.site-dialog .dialog-message { max-width:100%; }
.site-dialog .elementor-location-popup { display:block; }
.dialog-open { overflow:hidden; }
.e-n-menu.site-menu-open .e-n-menu-wrapper { display:block;visibility:visible;opacity:1; }
.e-n-menu-toggle[aria-expanded="true"] .e-open,.e-n-menu-toggle[aria-expanded="false"] .e-close { display:none; }
.site-gallery { display:grid;grid-template-columns:repeat(var(--gallery-columns),minmax(0,1fr));gap:var(--gallery-gap); }
.site-gallery .e-gallery-item { display:block;position:relative;aspect-ratio:1;overflow:hidden; }
.site-gallery .e-gallery-image { position:absolute;inset:0;background-size:cover;background-position:center; }
.site-gallery[data-layout="justified"] { display:flex;flex-wrap:wrap; }
.site-gallery[data-layout="justified"] .e-gallery-item { flex:var(--image-ratio) 1 calc(200px * var(--image-ratio));height:200px;aspect-ratio:var(--image-ratio); }
.photo-dialog { background:#111;color:white;border:0;max-width:none;max-height:none;width:100vw;height:100dvh;padding:50px 60px;margin:0; }
.photo-dialog::backdrop { background:#111; }
.photo-dialog img { width:100%;height:calc(100% - 30px);object-fit:contain; }
.photo-dialog button { position:absolute;background:#222;color:white;border:0;font-size:32px;padding:8px; }
.photo-dialog [data-close] { right:12px;top:8px; }
.photo-dialog [data-prev] { left:8px;top:45%; }
.photo-dialog [data-next] { right:8px;top:45%; }
.photo-dialog p { text-align:center;margin:0; }
.form-status:empty { display:none; }
.form-status { width:100%;margin:10px 0 0; }
.analytics-consent { position:fixed;bottom:16px;left:16px;z-index:10000;max-width:min(440px,calc(100vw - 32px));background:white;color:#222;border:1px solid #ddd;border-radius:12px;padding:20px;box-shadow:0 4px 30px #0002;font:14px/1.5 system-ui,sans-serif; }
.analytics-consent p { margin:0 0 12px; }
.analytics-consent .choices { display:flex;gap:8px;flex-wrap:wrap; }
.analytics-consent button { background:#222;color:#fff;border:1px solid #222;border-radius:6px;padding:9px 14px;font:inherit;cursor:pointer; }
.analytics-settings { position:fixed;bottom:8px;right:8px;z-index:9999;background:#fff;color:#333;border:1px solid #ccc;padding:5px 9px;border-radius:5px;font:12px system-ui; }
@media(max-width:767px) {
 .site-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .site-gallery[data-layout="justified"] .e-gallery-item { height:150px;flex-basis:calc(150px * var(--image-ratio)); }
 .site-dialog[open] { padding:8px; }
 .site-dialog .dialog-widget-content { max-height:calc(100dvh - 16px); }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important; } }
.site-dialog[open] [data-elementor-type="popup"] { display:block; }
/* Base tab layout was missing from the saved export. Respect its existing style variables. */
.e-n-tabs { display:flex;flex-direction:var(--n-tabs-direction,column);gap:var(--n-tabs-gap,20px); }
.e-n-tabs-heading { display:flex;flex-wrap:wrap;justify-content:var(--n-tabs-heading-justify-content,center);gap:var(--n-tabs-title-gap,10px); }
.e-n-tab-title { display:flex;justify-content:center;align-items:center;gap:8px;padding:var(--n-tabs-title-padding,15px 20px);border:0;border-radius:var(--n-tabs-title-border-radius,0);color:var(--n-tabs-title-color,#333);cursor:pointer; }
.e-n-tab-title[aria-selected="true"] { color:var(--n-tabs-title-color-active,#fff); }
.e-n-tab-title:hover { color:var(--n-tabs-title-color-hover,#fff); }
.e-n-tabs-content { min-width:0; }

.galart-socials {
  --icon-size: 40px;
  --icon-gap: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--icon-gap);
  width: 100%;
}
.galart-socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-size);
  height: var(--icon-size);
  color: #111;
  background: transparent;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.galart-socials a:hover { opacity: 0.6; }
.galart-socials svg { display: block; width: 100%; height: 100%; }
