/* com_vorsorgevollmachtgenerator 1.0.83
 * Einheitliches Frontend nach FAQ-/Tierprofil-Design.
 * Typografie kommt aus dem Joomla-Template; alle wichtigen Abstände sind über Komponentenoptionen steuerbar.
 */
.vvg-wrap,
.vvg-wrap *,
.vvg-wrap *::before,
.vvg-wrap *::after{box-sizing:border-box}
.vvg-wrap{font-family:inherit!important}
.vvg-wrap input,.vvg-wrap textarea,.vvg-wrap select,.vvg-wrap button,.vvg-wrap a{font-family:inherit!important}

/* Überschrift links, Erstellen-Button rechts; Inline-Regeln im Layout sichern dies zusätzlich gegen Template-Overrides ab. */
.vvg-head{box-sizing:border-box!important;display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;flex-wrap:nowrap!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0 0 var(--vvg-header-row-bottom,40px)!important;padding:0!important}
.vvg-create-wrap{box-sizing:border-box!important;display:flex!important;flex:0 0 auto!important;align-items:flex-start!important;justify-content:flex-end!important;width:auto!important;max-width:none!important;min-width:0!important;margin:0 0 10px auto!important;padding:0!important;text-align:right!important}
.vvg-create{display:inline-flex!important;flex:0 0 auto!important;width:auto!important;float:none!important;margin:0!important;white-space:nowrap!important;font-weight:400!important}

/* Normale Aktionsbuttons: Farben und Grunddesign bleiben beim Template. */
.vvg-wrap .btn{font-family:inherit!important;font-size:var(--vvg-button-size,inherit)!important;line-height:1.2!important;padding:var(--vvg-button-pad-top,10px) var(--vvg-button-pad-right,18px) var(--vvg-button-pad-bottom,10px) var(--vvg-button-pad-left,18px)!important}

/* Übersicht wie beim Tierprofil. */
.vvg-list{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:var(--vvg-list-gap,10px);margin:0 0 var(--vvg-list-bottom,40px)!important;padding:0}
.vvg-row{width:100%;min-width:0;margin:0;padding:var(--vvg-list-pad-top,5px) var(--vvg-list-pad-right,5px) var(--vvg-list-pad-bottom,5px) var(--vvg-list-pad-left,15px);border:0;border-radius:var(--bs-border-radius,.375rem);background:#E9F0FC;box-shadow:none}
.vvg-row h1,.vvg-row h2{font-family:inherit!important;font-size:inherit!important;font-weight:600;margin:0 0 7px;padding:0}
.vvg-actions{display:flex;align-items:center;flex-wrap:wrap;gap:0;font-family:inherit}
.vvg-actions>a,.vvg-link-button{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;border:0;background:transparent;padding:0;margin:0;color:inherit;font:inherit;line-height:inherit;text-decoration:none;cursor:pointer}
.vvg-actions .vvg-link-button{appearance:none!important;-webkit-appearance:none!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important;color:inherit!important;font-family:inherit!important;font-size:inherit!important;font-style:normal!important;font-weight:400!important;line-height:inherit!important;text-transform:none!important;letter-spacing:normal!important}
.vvg-actions>a:hover,.vvg-actions>a:focus,.vvg-link-button:hover,.vvg-link-button:focus{text-decoration:underline}
.vvg-actions>span{display:inline-block;margin:0 10px;opacity:.55}
.vvg-inline-form{display:inline;margin:0;padding:0}

.vvg-empty-state p{margin:0}

/* Radio-Akkordeon: genau ein Bereich offen, feste sichtbare Startposition. */
.vvg-accordion-list{overflow-anchor:none!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;max-width:100%!important;min-width:0!important;gap:var(--vvg-accordion-gap,15px)!important;margin:0 0 var(--vvg-accordion-list-bottom,40px)!important;padding:0!important}
.vvg-accordion-item{overflow-anchor:none!important;display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;border-style:solid!important;border-width:var(--vvg-accordion-border-width,1px)!important;border-color:var(--vvg-accordion-border,#D5D7E0)!important;border-radius:var(--vvg-accordion-radius,5px)!important;background:var(--vvg-accordion-closed,#FFFFFF)!important;background-image:none!important;box-shadow:none!important;outline:0!important;overflow:hidden!important}
.vvg-accordion-summary{-webkit-appearance:none!important;appearance:none!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;float:none!important;position:relative!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:0!important;height:auto!important;margin:0!important;padding:var(--vvg-accordion-pad-top,16px) calc(var(--vvg-accordion-pad-right,22px) + 30px) var(--vvg-accordion-pad-bottom,16px) var(--vvg-accordion-pad-left,22px)!important;border:0!important;border-radius:0!important;background:var(--vvg-accordion-closed,#FFFFFF)!important;background-image:none!important;color:#111111!important;font-family:inherit!important;font-size:var(--vvg-accordion-heading-size,18px)!important;font-style:normal!important;font-weight:700!important;line-height:1.35!important;text-align:left!important;text-decoration:none!important;text-transform:none!important;letter-spacing:normal!important;text-shadow:none!important;white-space:normal!important;cursor:pointer!important;box-shadow:none!important;filter:none!important;transform:none!important;list-style:none!important;overflow:hidden!important}
.vvg-accordion-summary::before{content:none!important;display:none!important}
.vvg-accordion-summary::after{content:"⌄"!important;display:block!important;position:absolute!important;right:var(--vvg-accordion-pad-right,22px)!important;bottom:9px!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#555!important;font-family:inherit!important;font-size:15px!important;font-style:normal!important;font-weight:400!important;line-height:1!important;opacity:.62!important;transform:none!important;transition:opacity .15s ease!important;pointer-events:none!important}
.vvg-accordion-summary:hover,.vvg-accordion-summary:active{border:0!important;background:var(--vvg-accordion-closed,#FFFFFF)!important;background-image:none!important;color:#111111!important;box-shadow:none!important;filter:none!important;transform:none!important;text-decoration:none!important}
.vvg-accordion-summary:focus-visible{outline:2px solid var(--vvg-accordion-border,#D5D7E0)!important;outline-offset:-3px!important}
.vvg-accordion-content{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;border-top-style:solid!important;border-top-width:var(--vvg-accordion-border-width,1px)!important;border-top-color:var(--vvg-accordion-border,#D5D7E0)!important;border-radius:0!important;background:var(--vvg-accordion-content,#FFFFFF)!important;background-image:none!important;color:#333333!important;box-shadow:none!important;overflow:hidden!important}
.vvg-accordion-inner{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:var(--vvg-content-pad-top,16px) var(--vvg-content-pad-right,22px) var(--vvg-content-pad-bottom,16px) var(--vvg-content-pad-left,22px)!important;border:0!important;background:transparent!important;color:#333333!important;font-family:inherit!important;font-style:normal!important;font-weight:400!important;line-height:1.55!important}
.vvg-step-intro{width:100%;margin:0 0 var(--vvg-intro-bottom,26px)!important;padding:0;line-height:inherit;font-family:inherit!important}
.vvg-step-intro>:first-child{margin-top:0!important}.vvg-step-intro>:last-child{margin-bottom:0!important}
.vvg-step-intro p,.vvg-step-intro div,.vvg-step-intro span,.vvg-step-intro li{font-family:inherit!important;font-size:inherit!important;color:inherit!important}

/* Felder wie im Tierprofil: einspaltig, 6 px Abstand, jedes zweite Feld #E9F0FC. */
.vvg-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;row-gap:var(--vvg-field-gap,6px)!important;width:100%;min-width:0;margin:0;padding:0}
.vvg-field{box-sizing:border-box!important;width:100%!important;min-width:0!important;margin:0!important;padding:var(--vvg-field-pad-top,6px) var(--vvg-field-pad-right,10px) var(--vvg-field-pad-bottom,6px) var(--vvg-field-pad-left,10px)!important;border:0!important;border-radius:0!important;background:var(--vvg-field-bg,#FFFFFF)!important;box-shadow:none!important}
.vvg-field.vvg-field-alt{background:var(--vvg-field-alt-bg,#E9F0FC)!important}
.vvg-field[hidden]{display:none!important}
.vvg-field label,.vvg-label{display:block!important;font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;font-weight:600!important;margin:0 0 var(--vvg-label-bottom,3px)!important;padding:0!important}
.vvg-field .form-control,.vvg-field .form-select,.vvg-animal-field .form-control,.vvg-animal-field .form-select{box-sizing:border-box!important;display:block!important;width:100%!important;max-width:none!important;font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;background-color:transparent!important}
.vvg-readonly{white-space:pre-wrap;font-family:inherit!important}

.vvg-animal-list{display:flex;flex-direction:column;gap:18px;margin:0 0 var(--vvg-field-gap,6px)}
.vvg-animal-card{display:block;width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.vvg-animal-head{display:flex;align-items:center;gap:15px;margin:0 0 var(--vvg-field-gap,6px)}
.vvg-animal-head strong{font-family:inherit!important;font-size:inherit!important}
.vvg-animal-remove{margin-left:auto;padding:0!important;border:0!important;background:transparent!important;color:inherit!important;font:inherit!important;text-decoration:underline!important;box-shadow:none!important}
.vvg-animal-remove:hover,.vvg-animal-remove:focus{text-decoration:none!important}
.vvg-animal-remove[hidden]{display:none!important}
.vvg-add-animal{margin-top:var(--vvg-field-gap,6px);margin-bottom:10px!important}


/* Direkte Rückmeldung innerhalb der Komponente, unabhängig von Joomla-Systemmeldungen. */
.vvg-field.vvg-field-invalid{outline:1px solid var(--bs-danger,#b02a37)!important;outline-offset:-1px}

/* Unter Frontend-Aktionsbuttons einheitlich 10 px. */
.vvg-form-actions,.vvg-detail-actions{display:flex!important;align-items:center!important;flex-wrap:wrap!important;column-gap:0!important;row-gap:0!important;margin:var(--vvg-action-top,20px) 0 var(--vvg-action-bottom,10px)!important;padding:0!important}
.vvg-form-actions>*,.vvg-detail-actions>*{margin:0!important}
.vvg-form-actions>*+*,.vvg-detail-actions>*+*{margin-left:var(--vvg-action-gap,25px)!important}
.vvg-cancel{display:inline!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:inherit!important;font:inherit!important;line-height:inherit!important;text-decoration:none!important;cursor:pointer!important}
.vvg-form-actions>.vvg-cancel,.vvg-detail-actions>.vvg-cancel{margin-left:var(--vvg-action-gap,25px)!important}
.vvg-cancel:hover,.vvg-cancel:focus{text-decoration:underline!important}
.vvg-security-note{margin:0}
.vvg-security-note-top{margin:0 0 20px!important}

/* Löschdialog */
.vvg-delete-overlay{display:none!important;position:fixed!important;inset:0!important;z-index:99999!important;align-items:center!important;justify-content:center!important;padding:20px!important}
.vvg-delete-overlay:target{display:flex!important}
.vvg-delete-backdrop{position:absolute!important;inset:0!important;background:rgba(0,0,0,.45)!important}
.vvg-delete-dialog{position:relative!important;z-index:2!important;width:min(560px,calc(100vw - 32px))!important;max-height:calc(100vh - 40px)!important;overflow:auto!important;background:#fff!important;padding:24px!important;border-radius:var(--bs-border-radius,.375rem)!important;box-shadow:0 18px 60px rgba(0,0,0,.28)!important}
.vvg-delete-dialog .vvg-page-heading{margin-top:0!important}

.vvg-guest-login{margin-bottom:var(--vvg-list-bottom,40px)}
.vvg-guest-login-text{width:100%;max-width:900px;font-family:inherit!important;line-height:inherit}
.vvg-guest-login-text>:first-child{margin-top:0!important}.vvg-guest-login-text>:last-child{margin-bottom:0!important}
.vvg-guest-login-text p,.vvg-guest-login-text div,.vvg-guest-login-text span,.vvg-guest-login-text li{font-family:inherit!important;font-size:inherit!important}

@media(max-width:767.98px){
  .vvg-head{display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;flex-wrap:nowrap!important;width:100%!important}
  .vvg-create-wrap{display:flex!important;flex:0 0 auto!important;justify-content:flex-end!important;margin:0 0 10px auto!important}
  .vvg-create{display:inline-flex!important;width:auto!important;margin:0!important}
  .vvg-animal-head{align-items:flex-start;flex-direction:column}
  .vvg-animal-remove{margin-left:0}
  .vvg-form-actions>*+*,.vvg-detail-actions>*+*{margin-left:var(--vvg-action-gap,25px)!important}
}

/* Sicherheitsabfragen: bewusst kein type=password, damit Passwortmanager diese Felder nicht als Login erkennen. */
.vvg-secret-entry{-webkit-text-security:disc!important;text-security:disc!important}


/* 1.0.39 – Frontend an Kartenmanagement/Tierprofil 1.2.37 angeglichen. */
:root{--vvg-primary:#053E92;--vvg-muted:#657385;--vvg-text:#243447}
.vvg-head{display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;flex-wrap:nowrap!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0 0 var(--vvg-header-row-bottom,40px)!important;padding:0!important}
.vvg-head-title{flex:1 1 auto!important;min-width:0!important;width:auto!important}
.vvg-create-wrap{display:flex!important;flex:0 0 auto!important;align-items:flex-start!important;justify-content:flex-end!important;width:auto!important;max-width:none!important;min-width:0!important;margin:0 0 10px auto!important;padding:0!important;text-align:right!important}
.vvg-create{display:inline-flex!important;flex:0 0 auto!important;width:auto!important;float:none!important;margin:0!important;white-space:nowrap!important;font-weight:400!important}
.vvg-list{margin-bottom:var(--vvg-list-bottom,60px)!important}
.vvg-row{padding:var(--vvg-list-pad-top,10px) var(--vvg-list-pad-right,10px) var(--vvg-list-pad-bottom,10px) var(--vvg-list-pad-left,10px)!important;border-radius:var(--bs-border-radius,.375rem)!important;background:#E9F0FC!important}
.vvg-row h1,.vvg-row h2{font-family:inherit!important;font-weight:600!important;margin:0 0 7px!important;padding:0!important}
.vvg-accordion-list{margin-bottom:var(--vvg-accordion-list-bottom,60px)!important}
.vvg-form-actions,.vvg-detail-actions{gap:var(--vvg-action-gap,25px)!important;margin:var(--vvg-action-top,20px) 0 var(--vvg-action-bottom,10px)!important}
.vvg-form-actions>*+*,.vvg-detail-actions>*+*{margin-left:0!important}
.vvg-form-actions>.vvg-cancel,.vvg-detail-actions>.vvg-cancel{margin-left:0!important}
.vvg-guest-login{margin-bottom:var(--vvg-list-bottom,60px)!important}

.vvg-field{padding:var(--vvg-field-pad-top,6px) var(--vvg-field-pad-right,10px) var(--vvg-field-pad-bottom,6px) var(--vvg-field-pad-left,10px)!important}
.vvg-step-intro{margin-bottom:20px!important}
.vvg-security-note-top{margin:0 0 20px!important}
@media(max-width:767.98px){
  .vvg-head{flex-wrap:wrap!important}
  .vvg-head-title{flex:1 1 100%!important}
  .vvg-create-wrap{margin-top:20px!important;margin-right:0!important;margin-bottom:10px!important;margin-left:0!important}
}


/* Die Übersichtsseite besitzt zusätzlich den Erstellen-Button; dort bleibt der vorhandene Kopfzeilen-Abstand maßgeblich. */
/* Portable Vorsorgevollmacht export/import */
.vvg-import-form{box-sizing:border-box!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px 15px!important;align-items:end!important;width:100%!important;margin:0 0 30px!important;padding:14px!important;background:#E9F0FC!important;border:0!important;border-radius:5px!important}
.vvg-import-form>label{grid-column:1/-1!important;margin:0!important;padding:0!important}
.vvg-import-form>.form-control{margin:0!important;min-width:0!important}
.vvg-import-note{grid-column:1/-1!important;margin:0!important;padding:0!important}
@media (max-width:700px){.vvg-import-form{grid-template-columns:1fr!important}.vvg-import-form>label,.vvg-import-note{grid-column:1!important}.vvg-import-form>.btn{justify-self:start!important}}

/* 1.0.80 – Auge für PIN-/Passwortfelder: immer schwarz, ohne Hover-Farbwechsel. */
.vvg-secret-field{position:relative!important;display:block!important;width:100%!important}
.vvg-secret-field>.vvg-secret-entry{padding-right:44px!important;width:100%!important;box-sizing:border-box!important}
.vvg-secret-entry.vvg-secret-visible{-webkit-text-security:none!important;text-security:none!important}
.vvg-secret-toggle,
.vvg-secret-toggle:hover,
.vvg-secret-toggle:active,
.vvg-secret-toggle:focus,
.vvg-secret-toggle:focus-visible,
.vvg-secret-toggle[aria-pressed="true"]{
  position:absolute!important;right:6px!important;top:50%!important;transform:translateY(-50%)!important;
  width:32px!important;height:32px!important;padding:4px!important;margin:0!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  color:#000!important;background:transparent!important;background-image:none!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;opacity:1!important;
  cursor:pointer!important;text-decoration:none!important;
}
.vvg-secret-toggle svg{width:21px!important;height:21px!important;display:block!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;pointer-events:none!important}

/* Radio-Accordion mit Scroll-Anchoring-Schutz und Scroll-Ausgleich. */
.vvg-accordion-radio{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.vvg-accordion-radio:not(:checked)~.vvg-radio-panel{display:none!important}
.vvg-accordion-radio:checked~.vvg-radio-panel{display:block!important}
.vvg-accordion-radio:checked+.vvg-accordion-summary,
.vvg-accordion-radio:checked+.vvg-accordion-summary:hover,
.vvg-accordion-radio:checked+.vvg-accordion-summary:focus,
.vvg-accordion-radio:checked+.vvg-accordion-summary:active{background:var(--vvg-accordion-open,#E9F0FC)!important;background-image:none!important;color:#111111!important}
.vvg-accordion-radio:checked+.vvg-accordion-summary::after{content:"⌃"!important;opacity:.72!important}
.vvg-accordion-radio:focus-visible+.vvg-accordion-summary{outline:2px solid var(--vvg-accordion-border,#D5D7E0)!important;outline-offset:-3px!important}
[data-vvg-radio-accordion] .vvg-accordion-summary{user-select:none!important;-webkit-user-select:none!important}
.vvg-radio-scroll-tail{display:block!important;width:1px!important;max-width:1px!important;margin:0!important;padding:0!important;border:0!important;pointer-events:none!important;visibility:hidden!important}


.vvg-login-module-hidden { display: none !important; }
