/*
 * Visual Sign website — small additions to the owner's design (styles.css):
 * the real logo, chosen photos filling the design's boxes, form help / error
 * lines, the hidden spam trap and the admins' Edit buttons.
 */

/* Logo picture instead of the grey box. */
.vs-header__logo .sh-site-logo { display: block; height: 37px; width: auto; max-width: 180px; object-fit: contain; transition: .3s ease-in-out; }
.vs-header.is-active .vs-header__logo .sh-site-logo { filter: brightness(0) invert(1); }

/* Chosen photos fill the same boxes as the design's grey placeholders. */
.vs-cover__image img, .vs-hero__image img, .vs-photo-text__image img,
.vs-split__intro figure img, .vs-split__hero-image img, .vs-form__image img { width: 100%; height: 100%; object-fit: cover; }
.vs-header__box figure img, .vs-footer__box figure img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vs-lists__icon { object-fit: contain; }
/* Photo position chosen in the editor (Website → Edit sections → Position). */
@media (min-width: 768px) { img[data-sh-fd] { object-position: var(--sh-fd) !important; } }
@media (max-width: 767px) { img[data-sh-fm] { object-position: var(--sh-fm) !important; } }
.vs-footer__legal-icon.sh-site-social { width: 18px; height: 18px; flex: 0 0 18px; color: currentColor; background: none; object-fit: contain; }

/* Forms. */
.vs-field__help { margin: .375rem 0 0; font-size: .875rem; line-height: 1.4; opacity: .75; }
.vs-field__error, .vs-form-error { margin: .5rem 0 0; color: #b42318; font-size: .875rem; font-weight: 600; line-height: 1.4; }
.vs-form-error { margin: 0 0 1rem; padding: .75rem 1rem; border-radius: .75rem; background: #fdecea; }
.vs-field.has-error .vs-field__input, .vs-field.has-error .vs-upload { border-color: #b42318; box-shadow: 0 0 0 1px #b42318; }
.vs-field--heading .vs-apply__step-label { margin-top: .5rem; }
.vs-field--consent .vs-check a { text-decoration: underline; }
.vs-partner__grid .vs-field { min-width: 0; }
.vs-apply__nav .vs-btn.is-busy { opacity: .6; pointer-events: none; }
.sh-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.sh-site-note { margin: 0 0 1rem; padding: .75rem 1rem; border-radius: .75rem; background: #fff4d6; color: #5c3a05; font-size: .9375rem; }
.sh-site-empty { padding: 6rem 1rem; text-align: center; }
.sh-site-html { padding: 2rem 0; }

/* Admins: Edit buttons. */
.sh-site-editor [data-sh-edit] { position: relative; }
.sh-site-edit { position: absolute; top: .75rem; right: .75rem; z-index: 40; display: none; padding: .375rem .75rem; border-radius: 999px; background: #1e1e1e; color: #fff !important; font: 600 13px/1.2 system-ui, sans-serif; text-decoration: none !important; box-shadow: 0 2px 10px rgba(0,0,0,.25); }
.sh-site-editor [data-sh-edit]:hover > .sh-site-edit, .sh-site-edit:focus { display: inline-block; }
.sh-site-editor [data-sh-edit]:hover { outline: 2px dashed rgba(252, 175, 23, .9); outline-offset: -2px; }
.sh-site-editbar { position: fixed; left: 1rem; bottom: 1rem; z-index: 9999; display: inline-flex; align-items: center; gap: .375rem; padding: .625rem 1rem; border-radius: 999px; background: #fcaf17; color: #1e1e1e !important; font: 700 14px/1 system-ui, sans-serif; text-decoration: none !important; box-shadow: 0 4px 16px rgba(0,0,0,.25); }
@media (hover: none) {
	.sh-site-edit { display: inline-block; }
}
@media print {
	.sh-site-edit, .sh-site-editbar { display: none !important; }
}
