/* Fredoka, SIL OFL 1.1. Local variable WOFF2 subsets; no Google requests at runtime. */
@font-face {
  font-family: "Fredoka"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url('/fredoka-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: "Fredoka"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url('/fredoka-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root {
  --pet-green: #32a579; --pet-green-dark: #147253; --pet-charcoal: #293038;
  --pet-background: #fbfaf6; --pet-surface: #fff; --pet-soft: #eaf5ee;
  --pet-muted: #55645e; --pet-border: #d7e3dc;
  --pet-radius-sm: .85rem; --pet-radius: 1.5rem; --pet-radius-lg: 2rem;
  --pet-space-1: .5rem; --pet-space-2: 1rem; --pet-space-3: 1.5rem;
  --pet-space-4: 2rem; --pet-space-5: 3rem;
  --pet-font: "Fredoka", system-ui, sans-serif;
  --pet-text: 1rem; --pet-h1: clamp(2.5rem,6vw,4.5rem); --pet-h2: clamp(1.7rem,4vw,2.5rem); --pet-h3: 1.25rem;
  /* Bridge the retained Oliver/operator styles to the same tokens. */
  --ink: var(--pet-charcoal); --muted: var(--pet-muted); --cream: var(--pet-background);
  --paper: var(--pet-background); --sage: var(--pet-soft); --line: var(--pet-border);
  --accent: var(--pet-green-dark); --accent-dark: var(--pet-green-dark);
  font-family: var(--pet-font); font-synthesis: none; color-scheme: light;
  --fc-button-bg-color: var(--pet-green-dark); --fc-button-border-color: var(--pet-green-dark);
  --fc-button-hover-bg-color: #105b43; --fc-button-hover-border-color: #105b43;
  --fc-button-active-bg-color: var(--pet-charcoal); --fc-button-active-border-color: var(--pet-charcoal);
  --fc-border-color: var(--pet-border); --fc-today-bg-color: var(--pet-soft);
}
body { font-family: var(--pet-font); font-size: var(--pet-text); font-weight: 400; background: var(--pet-background); color: var(--pet-charcoal); line-height: 1.6; }
h1,h2,h3,h4,.hero-card p,.request-success h3 { font-family: var(--pet-font); letter-spacing: -.02em; }
h1,h2 { font-weight: 600; line-height: 1.12; }
h1 { font-size: var(--pet-h1); }
h2 { font-size: var(--pet-h2); }
h3,h4,.request-success h3 { font-weight: 600; }
h3 { font-size: var(--pet-h3); }
input,select,textarea,button { font-family: var(--pet-font); font-size: 1rem; }
input,select,textarea { font-weight: 400; accent-color: var(--pet-green-dark); }
label,nav,.header-link,.admin-form label,.request-form label { font-weight: 500; }
button,.button,.admin-main button:not(.button),.admin-nav button { font-family: var(--pet-font); font-weight: 600; border-radius: var(--pet-radius-sm); }
button,.button { background: var(--pet-green-dark); color: #fff; border-color: var(--pet-green-dark); }
.button:not(.secondary):not(.button-light):hover,button:not(.secondary):not(.button-light):not(.account-nav-trigger):not([role="menuitem"]):not(.search-toolbar-item):not(.picker-back-btn):not(.close-icon-btn):not(.reset-link-btn):not(.compact-search-trigger):not(.filter-trigger-btn):not(.floating-surface):not(.mobile-view-toggle):not(.service-card):not(.radius-chip):not(.near-me-action):not(.date-summary-btn):not(.tab-btn):hover:not(:disabled) { background: #105b43; color: white; }
.secondary,.button-light { background: white; color: var(--pet-green-dark); }
.secondary:hover,.button-light:hover,button.secondary:hover { background: var(--pet-soft) !important; color: var(--pet-green-dark) !important; }
a:not(.button):not(.brand) { color: var(--pet-green-dark); text-underline-offset: .2em; }
.brand { display: inline-flex; align-items: center; gap: .55rem; color: var(--pet-charcoal); text-decoration: none; font-family: var(--pet-font); font-size: clamp(1.2rem,3.5vw,1.6rem); font-weight: 600; letter-spacing: -.025em; white-space: nowrap; }
.brand-word { color: var(--pet-green-dark); }
.brand-symbol { display: block; flex: 0 0 44px; width: 44px; height: 44px; }
.brand-symbol img { display: block; width: 100%; height: auto; }
.brand-context { font-size: .85rem; font-weight: 500; color: var(--pet-muted); }
article,.panel,.admin-panel,.calendar-panel,.status-panel,.availability-panel { border-color: var(--pet-border); border-radius: var(--pet-radius); background: var(--pet-surface); }
.panel,.admin-panel,article { padding: var(--pet-space-3); }
.admin-request,.admin-slot { border-radius: 0; padding: var(--pet-space-2) 0; }
input:not([type=checkbox]):not([type=hidden]),select,textarea,.admin-form input,.range-fields input:not([type=checkbox]) { border-radius: var(--pet-radius-sm); border-color: #a4b9ad; min-height: 44px; }
.hero-card,.request { border-radius: var(--pet-radius-lg); }
.hero-card p { font-weight: 500; }
.eyebrow,.slot-date,.slot-state,.success-mark { font-weight: 600; }
.request .eyebrow { color: #a9e2c6; }
.request .status-link { color: white; }
.request input,.request select,.request textarea { background: #243f36; color: white; }
.status,.admin-notice { background: var(--pet-soft); color: var(--pet-green-dark); border-radius: var(--pet-radius-sm); font-weight: 500; }
:is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid var(--pet-green); outline-offset: 3px; }
.fc .fc-button { border-radius: var(--pet-radius-sm); font-family: var(--pet-font); font-weight: 500; }
.fc .fc-toolbar-title { font-family: var(--pet-font); font-weight: 600; }
.fc .fc-button-primary { background: var(--pet-green-dark); color: white; border-color: var(--pet-green-dark); }
.market-hero { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,.75fr); gap: var(--pet-space-5); align-items: center; padding-block: var(--pet-space-5); }
.market-hero h1 { margin-block: var(--pet-space-2); }
.hero-logo { width: 100%; height: auto; aspect-ratio: 1; max-width: 360px; justify-self: center; }
.market-hero .actions { margin-top: var(--pet-space-4); }
.market-hero .actions .button { padding: .8rem 1.1rem; }
@media(max-width:600px) {
  .market-hero { grid-template-columns: minmax(0,1fr); gap: var(--pet-space-2); padding-top: var(--pet-space-2); }
  .hero-logo { grid-row: 1; width: 160px; }
  .market-hero .actions { align-items: stretch; }
  .brand-context { display: none; }
  .panel,.admin-panel,article { padding: var(--pet-space-2); }
}

/* One compact, truthful account surface shared by marketplace pages. */
[data-account-nav] { position:relative;z-index:20; }
.sitter-header-actions { display:flex;align-items:center;gap:12px;min-width:0;max-width:100%; }
.sitter-header-actions > [data-account-nav] { min-width:0; }
.account-nav-shell { position:relative;display:flex;align-items:center;gap:10px; }
.account-nav-login,.account-nav-shortcut,.account-nav-messages { color:var(--pet-green-dark);font-weight:600;text-decoration:none; }
.account-nav-messages { position:relative;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 10px;border:1px solid transparent;border-radius:999px; }
.account-nav-messages:hover,.account-nav-messages:focus-visible { background:var(--pet-soft);border-color:var(--pet-green); }
.account-nav-messages-icon { font-size:1rem;line-height:1; }
.account-nav-unread { display:inline-grid;place-items:center;min-width:20px;height:20px;padding-inline:5px;border-radius:999px;background:var(--pet-green);color:#fff;font-size:.72rem;line-height:1; }
.account-nav-shortcut { min-height:40px;padding:8px 11px;border:1px solid var(--pet-border);border-radius:999px;background:var(--pet-surface); }
.account-nav-shortcut:hover { background:var(--pet-soft);border-color:var(--pet-green); }
.account-nav-trigger { display:inline-flex;align-items:center;gap:7px;width:auto;min-height:44px;padding:5px 10px 5px 6px;border:1px solid var(--pet-border);border-radius:999px;background:var(--pet-surface);color:var(--pet-charcoal);font:600 .95rem var(--pet-font);cursor:pointer;transition:border-color 140ms ease,background-color 140ms ease,box-shadow 140ms ease; }
button.account-nav-trigger:hover:not(:disabled),
button.account-nav-trigger[aria-expanded="true"],
.account-nav-trigger:hover,
.account-nav-trigger[aria-expanded="true"] { border-color:var(--pet-green);background:var(--pet-soft) !important;color:var(--pet-green-dark) !important;box-shadow:0 2px 8px rgba(50,165,121,.15); }
button.account-nav-trigger:hover .account-nav-name,
button.account-nav-trigger[aria-expanded="true"] .account-nav-name { color:var(--pet-green-dark); }
button.account-nav-trigger:hover .account-nav-badge,
button.account-nav-trigger[aria-expanded="true"] .account-nav-badge { color:#1f5642; }
button.account-nav-trigger:hover .account-nav-caret,
button.account-nav-trigger[aria-expanded="true"] .account-nav-caret { color:var(--pet-green); }
button.account-nav-trigger:active,
.account-nav-trigger:active { background:#e4efe9 !important;transform:scale(0.985); }
.account-avatar-wrap { position:relative;display:inline-flex;align-items:center;justify-content:center; }
.account-avatar { display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--pet-green-dark);color:white;font-size:.78rem;line-height:1; }
.account-avatar-badge { position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 3px;border-radius:999px;background:var(--pet-green);color:#ffffff;font-size:.64rem;font-weight:700;line-height:17px;text-align:center;box-shadow:0 0 0 2px var(--pet-surface);box-sizing:border-box; }
.account-nav-menu { position:absolute;top:calc(100% + 10px);right:0;z-index:30;display:grid;min-width:220px;padding:8px;border:1px solid var(--pet-border);border-radius:16px;background:var(--pet-surface);box-shadow:0 12px 30px rgba(41,48,56,.16); }
.account-nav-menu[hidden] { display:none; }
.account-nav-meta { display:inline-flex;flex-direction:column;align-items:flex-start;text-align:left;line-height:1.2; }
.account-nav-badge { font-size:.68rem;font-weight:500;color:var(--pet-muted); }
.account-nav-section { display:grid;padding-top:4px;margin-top:4px;border-top:1px solid var(--pet-border); }
.account-nav-heading { font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--pet-muted);padding:4px 11px 2px; }
.account-nav-role-box { padding:4px 11px 6px;border-bottom:1px solid var(--pet-border); }
.account-nav-action-sitter, .account-nav-action-owner { color:var(--pet-green-dark) !important;font-weight:600 !important; }
.account-nav-addon { margin-top:4px;padding-top:4px;border-top:1px solid var(--pet-border); }
@media (prefers-reduced-motion: no-preference) {
  .account-nav-menu:not([hidden]) {
    animation: accountMenuIn 180ms ease-out;
  }
}
@keyframes accountMenuIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.account-nav-menu a,.account-nav-menu button { display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:42px;padding:9px 11px;border:0;border-radius:10px;background:transparent;color:var(--pet-charcoal);font:500 .92rem var(--pet-font);text-align:left;text-decoration:none;cursor:pointer;box-sizing:border-box; }
.account-nav-menu a:hover,.account-nav-menu a:focus-visible,.account-nav-menu button:hover,.account-nav-menu button:hover:not(:disabled),.account-nav-menu button:focus-visible { background:var(--pet-soft) !important;color:var(--pet-green-dark) !important; }
.account-nav-role { margin:4px 11px 6px;color:var(--pet-muted);font-size:.78rem;font-weight:600; }
.account-nav-menu [data-account-logout] { margin-top:5px;border-top:1px solid var(--pet-border);border-radius:0;padding-top:12px; }
@media(max-width:520px) {
  body > header { gap:8px; }
  body[data-account-page] > header { gap:8px; }
  .discovery-header { gap:8px; }
  .discovery-header > nav { min-width:0; }
  .sitter-header-actions { gap:8px; }
  .sitter-header-actions > [data-profile-search-link] { font-size:0; white-space:nowrap; }
  .sitter-header-actions > [data-profile-search-link]::after { content:'Suche'; font-size:.86rem; }
  .account-nav-name { display:none; }
  .account-nav-shortcut { display:none; }
  .account-nav-shell { gap:5px; }
  .account-nav-messages-label { display:none; }
  .account-nav-messages { padding-inline:8px; }
  .account-nav-shortcut { padding-inline:9px;font-size:.86rem; }
  .account-nav-trigger { padding-right:7px; }
  .account-nav-name { max-width:7ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .account-nav-menu { right:-4px;min-width:204px; }
}

/* PT-PR-103 Sitter Identity Verification */
.sitter-identity-verified-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--pet-font);
  font-size: 0.8rem;
  font-weight: 600;
  color: #205c36;
  background: #eaf5ed;
  border: 1px solid rgba(46, 111, 64, 0.22);
  padding: 2px 8px;
  border-radius: 12px;
  vertical-align: middle;
  line-height: 1.25;
  white-space: nowrap;
  text-decoration: none;
  cursor: help;
}
.sitter-identity-verified-badge:focus-visible {
  outline: 2px solid var(--pet-green);
  outline-offset: 2px;
}
.sitter-identity-verified-badge .verified-check-icon {
  flex-shrink: 0;
  width: 13px;
  height: 13px;
  color: #205c36;
}
.sitter-verification-card {
  padding: 12px 16px;
  border-radius: var(--pet-radius);
  margin-bottom: 16px;
  border: 1px solid var(--pet-border);
  background: #fafaf8;
}
.sitter-verification-card.verified {
  background: #f4faf6;
  border-color: rgba(46, 111, 64, 0.25);
}
.sitter-verification-card.unverified {
  background: #fffdf9;
  border-color: #eeddc5;
}
.sitter-verification-card .hint {
  margin: 6px 0 0;
  font-size: 0.86rem;
  color: var(--pet-charcoal);
}
.sitter-verification-card a {
  color: var(--pet-green-dark);
  font-weight: 600;
}
