.vh-profile-form section { margin-bottom: 2rem; }
.vh-profile-form label { display: block; font-weight: 600; margin-bottom: .25rem; }
.vh-profile-form input[type="text"],
.vh-profile-form input[type="email"],
.vh-profile-form input[type="url"],
.vh-profile-form input[type="password"],
.vh-profile-form textarea { width: 100%; }
.vh-profile-form__langs { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); }

.vh-hours-row { display: flex; gap: .5rem; align-items: center; margin-bottom: .35rem; flex-wrap: wrap; }
.vh-hours-row span { min-width: 7rem; }

.vh-media__preview { display: flex; gap: .5rem; flex-wrap: wrap; margin: .5rem 0; }
.vh-media__item { position: relative; margin: 0; }
.vh-media__item img { width: 84px; height: 84px; object-fit: cover; border-radius: .35rem; }
.vh-media__remove { position: absolute; top: -.4rem; right: -.4rem; border: 0; background: var(--vh-wine, #7A1F35); color: #fff; border-radius: 50%; width: 1.4rem; height: 1.4rem; cursor: pointer; }

.vh-membership__kpi { padding: 1rem 1.25rem; background: var(--vh-panel, #EEE6DD); border-radius: .75rem; display: inline-block; }
.vh-membership__value { display: block; font-size: 2rem; font-weight: 700; color: var(--vh-wine, #7A1F35); }
.vh-table { width: 100%; border-collapse: collapse; }
.vh-table th, .vh-table td { text-align: left; padding: .5rem; border-bottom: 1px solid var(--vh-border, #E3D9CE); }

.vh-verify__steps { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .5rem; }
.vh-verify__step { display: flex; gap: .75rem; align-items: center; opacity: .6; }
.vh-verify__step.is-done { opacity: 1; }
.vh-verify__num { width: 1.75rem; height: 1.75rem; border-radius: 50%; display: grid; place-items: center; background: var(--vh-panel, #EEE6DD); }
.vh-verify__step.is-done .vh-verify__num { background: var(--vh-sage, #8FB29A); }

.vh-counter { display: block; margin-top: .25rem; font-size: .8125rem; color: #6b6b6b; text-align: right; }
.vh-field-hint { display: block; margin-top: .25rem; font-size: .8125rem; color: #6b6b6b; }
.vh-media__hint { margin: .5rem 0 0; font-size: .875rem; color: #6b6b6b; }
.vh-account-form { margin-top: 2.5rem !important; }
.vh-profile-form__account { background: #fff; border: 1px solid #E3D9CE; border-radius: 24px; padding: 32px; margin: 0 0 20px; }
@media (max-width: 600px) { .vh-profile-form__account { padding: 20px; } }

/* Handy: Wochentag oben, darunter von/bis nebeneinander, dann "Geschlossen".
   !important, weil die Seitenregeln aus Elementor (4 Klassen) sonst gewinnen. */
@media (max-width: 600px) {
	.vh-profile-form .vh-hours-row { display: grid !important; grid-template-columns: 1fr 1fr; gap: .5rem; margin-bottom: 1rem !important; }
	.vh-profile-form .vh-hours-row > span { grid-column: 1 / -1; min-width: 0; font-weight: 600; }
	.vh-profile-form .vh-hours-row > label { grid-column: 1 / -1; display: flex; align-items: center; gap: .4rem; font-weight: 400; }
	.vh-profile-form .vh-hours-row input[type="time"] { width: 100% !important; min-width: 0; }
}

/* Vorschau von Logo und Galerie. Das Theme stylt jedes <button> (rosa Rahmen) und
   setzt img { height: auto }; ohne !important wurde der Entfernen-Knopf zum
   rosa Kasten ueber dem Bild. */
.vh-profile-form .vh-media__preview { display: flex; gap: .75rem; flex-wrap: wrap; margin: .75rem 0 1rem; }
.vh-profile-form .vh-media__item { position: relative; display: block; margin: 0; }
.vh-profile-form .vh-media__item img { display: block; width: 96px !important; height: 96px !important; box-sizing: border-box; object-fit: contain; padding: 6px; background: #fff; border: 1px solid #E3D9CE; border-radius: 12px; }
.vh-profile-form .vh-media[data-vh-media="gallery"] .vh-media__item img { object-fit: cover; padding: 0; }
.vh-profile-form button.vh-media__remove { position: absolute; top: -8px; right: -8px; display: flex; align-items: center; justify-content: center; width: 24px !important; height: 24px !important; min-width: 0; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: #7A1F35 !important; color: #fff !important; font-size: 16px; line-height: 1; cursor: pointer; }

/* Konto-Menue: Es klebt unter dem schwebenden Header. Der Header (Pille) endet im
   angehefteten Zustand bei ca. 136px, das Menue klebte bei 96px und ueberdeckte
   so den ersten Punkt "Mein Profil". */
.woocommerce-MyAccount-navigation { top: 152px !important; }

/* Mitgliedschaft: Hinweis und Button klebten ohne Abstand aneinander. */
.vh-verify__form .vh-verify__hint { margin-bottom: 16px !important; }
