/**
 * Klean-Vet Responde — UI (pro-icon-maker concept + corporate colors)
 * Scoped under #kvr-app.kvr-app to beat Elementor/theme cascade
 */

 #kvr-app.kvr-app,
 #kvr-app.kvr-app *,
 #kvr-app.kvr-app *::before,
 #kvr-app.kvr-app *::after {
	 box-sizing: border-box;
 }
 
 /* Beat Elementor heading / widget typography bleed */
 #kvr-app.kvr-app h1,
 #kvr-app.kvr-app h2,
 #kvr-app.kvr-app h3,
 #kvr-app.kvr-app h4,
 #kvr-app.kvr-app h5,
 #kvr-app.kvr-app h6,
 #kvr-app.kvr-app p,
 #kvr-app.kvr-app li,
 #kvr-app.kvr-app label,
 #kvr-app.kvr-app legend {
	 font-family: var(--kvr-font) !important;
	 text-shadow: none !important;
 }
 
 #kvr-app.kvr-app h1.kvr-headline,
 #kvr-app.kvr-app .kvr-headline {
	 margin: 0 0 12px !important;
	 padding: 0 !important;
	 font-size: clamp(1.85rem, 5.2vw, 3.25rem) !important;
	 font-weight: 700 !important;
	 line-height: 1.08 !important;
	 letter-spacing: -0.035em !important;
	 color: var(--kvr-text) !important;
 }
 
 #kvr-app.kvr-app h2.kvr-section-title,
 #kvr-app.kvr-app h2.kvr-view-title,
 #kvr-app.kvr-app h2.kvr-cta-banner__title,
 #kvr-app.kvr-app h2.kvr-sheet__title,
 #kvr-app.kvr-app .kvr-section-title,
 #kvr-app.kvr-app .kvr-view-title {
	 margin: 0 0 10px !important;
	 padding: 0 !important;
	 font-size: 1.35rem !important;
	 font-weight: 700 !important;
	 line-height: 1.2 !important;
	 letter-spacing: -0.02em !important;
	 color: var(--kvr-text) !important;
 }
 
 #kvr-app.kvr-app h3.kvr-pet-card__name,
 #kvr-app.kvr-app .kvr-pet-card__name {
	 margin: 0 0 4px !important;
	 padding: 0 !important;
	 font-size: 1.55rem !important;
	 font-weight: 800 !important;
	 line-height: 1.12 !important;
	 letter-spacing: -0.03em !important;
	 color: var(--kvr-secondary) !important;
 }
 
 #kvr-app.kvr-app .kvr-pet-card__name-link {
	 font-size: 24px !important;
 }
 
 #kvr-app.kvr-app h3.kvr-empty__title,
 #kvr-app.kvr-app .kvr-detail__title {
	 margin: 0 0 6px !important;
	 padding: 0 !important;
	 font-size: 1.15rem !important;
	 font-weight: 700 !important;
	 line-height: 1.25 !important;
	 letter-spacing: -0.02em !important;
	 color: var(--kvr-text) !important;
 }
 
 #kvr-app.kvr-app .kvr-detail__title {
	 font-size: 1.65rem !important;
 }
 
 #kvr-app.kvr-app p.kvr-subhead,
 #kvr-app.kvr-app .kvr-subhead,
 #kvr-app.kvr-app p.kvr-empty__text {
	 margin: 0 !important;
	 padding: 0 !important;
	 font-size: 0.98rem !important;
	 font-weight: 500 !important;
	 line-height: 1.5 !important;
	 color: var(--kvr-text-muted) !important;
 }
 
 #kvr-app.kvr-app p.kvr-pet-card__breed {
	 margin: 0 0 6px !important;
	 padding: 0 !important;
	 font-size: 15px !important;
	 font-weight: 500 !important;
	 letter-spacing: 0 !important;
	 text-transform: none !important;
	 line-height: 1.4 !important;
	 color: var(--kvr-text-muted) !important;
 }
 
 #kvr-app.kvr-app .kvr-pet-card__breed-label {
	 font-size: 15px !important;
	 font-weight: 600 !important;
	 color: var(--kvr-text-muted) !important;
 }
 
 #kvr-app.kvr-app p.kvr-pet-card__detail {
	 margin: 0 0 10px !important;
	 padding: 0 !important;
	 font-size: 1rem !important;
	 font-weight: 500 !important;
	 line-height: 1.45 !important;
	 color: var(--kvr-text) !important;
 }
 
 #kvr-app.kvr-app p.kvr-pet-card__location,
 #kvr-app.kvr-app p.kvr-pet-card__distance,
 #kvr-app.kvr-app p.kvr-pet-card__meta {
	 margin: 0 0 6px !important;
	 padding: 0 !important;
	 font-size: 0.975rem !important;
	 font-weight: 500 !important;
	 line-height: 1.4 !important;
	 color: var(--kvr-text-muted) !important;
 }
 
 #kvr-app.kvr-app .kvr-subhead {
	 max-width: none;
	 width: 100%;
	 margin-bottom: 0 !important;
 }

 #kvr-app.kvr-app .kvr-subhead strong {
	 font-weight: 700 !important;
	 color: var(--kvr-text) !important;
 }
 
 #kvr-app.kvr-app .kvr-eyebrow,
 #kvr-app.kvr-app p.kvr-eyebrow {
	 display: inline-flex !important;
	 align-items: center;
	 gap: 8px;
	 margin: 0 0 14px !important;
	 padding: 0 !important;
	 font-size: 0.8125rem !important;
	 font-weight: 700 !important;
	 letter-spacing: 0.08em !important;
	 text-transform: none !important;
	 color: var(--kvr-secondary) !important;
 }
 
 #kvr-app.kvr-app .kvr-eyebrow--muted {
	 color: var(--kvr-text-muted) !important;
	 letter-spacing: 0.04em !important;
	 font-weight: 600 !important;
 }
 
 .kvr-app,
 .kvr-app *,
 .kvr-app *::before,
 .kvr-app *::after {
	 box-sizing: border-box;
 }
 
 .kvr-app {
	 --kvr-primary: #00BAB3;
	 --kvr-primary-hover: #00a39d;
	 --kvr-secondary: #007E8B;
	 --kvr-text: #333F3F;
	 --kvr-text-muted: #5A6B6B;
	 --kvr-accent: #FF8F00;
	 --kvr-accent-hover: #e68000;
	 --kvr-lost: #C63737;
	 --kvr-lost-hover: #b02f2f;
	 --kvr-found: #007E8B;
	 --kvr-found-hover: #006875;
	 --kvr-background: #FFFFFF;
	 --kvr-background-soft: #F5FAFA;
	 --kvr-background-primary-soft: #EAF9F8;
	 --kvr-background-accent-soft: #FFF6EB;
	 --kvr-border: #DDE7E7;
	 --kvr-border-strong: #C5D4D4;
	 --kvr-danger: #D64545;
	 --kvr-danger-soft: #FDECEC;
	 --kvr-success-soft: #E6F7F0;
	 --kvr-radius-sm: 12px;
	 --kvr-radius-md: 16px;
	 --kvr-radius-lg: 20px;
	 --kvr-radius-xl: 24px;
	 --kvr-shadow-xs: 0 1px 2px rgba(51, 63, 63, 0.05);
	 --kvr-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px -1px rgba(0, 0, 0, 0.08);
	 --kvr-shadow-md: 0 10px 28px rgba(51, 63, 63, 0.08), 0 2px 6px rgba(51, 63, 63, 0.04);
	 --kvr-shadow-lg: 0 16px 40px rgba(51, 63, 63, 0.12), 0 4px 12px rgba(51, 63, 63, 0.06);
	 --kvr-ring: 0 0 0 3px rgba(0, 186, 179, 0.22);
	 --kvr-space: 16px;
	 --kvr-bottom-nav-h: 72px;
	 --kvr-font: Inter, Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	 --kvr-transition: 160ms cubic-bezier(0.2, 0.8, 0.2, 1);
 
	 position: relative;
	 isolation: isolate;
	 width: 100%;
	 max-width: 100%;
	 margin: 0;
	 padding: 0 0 calc(var(--kvr-bottom-nav-h) + 12px);
	 color: var(--kvr-text);
	 background: var(--kvr-background-soft);
	 font-family: var(--kvr-font);
	 font-size: 16px;
	 font-weight: 400;
	 line-height: 1.5;
	 letter-spacing: -0.011em;
	 -webkit-font-smoothing: antialiased;
	 -moz-osx-font-smoothing: grayscale;
	 -webkit-text-size-adjust: 100%;
	 text-size-adjust: 100%;
 }
 
 #kvr-app.kvr-app .kvr-icon {
	 display: inline-block;
	 flex-shrink: 0;
	 vertical-align: middle;
	 stroke: currentColor;
	 fill: none;
 }
 
 /* Neutralize Elementor / theme bleed on interactive + headings */
 .kvr-app button,
 .kvr-app input,
 .kvr-app select,
 .kvr-app textarea,
 .kvr-app label {
	 font-family: inherit;
	 line-height: inherit;
	 letter-spacing: inherit;
	 text-transform: none;
	 box-shadow: none;
 }
 
 .kvr-app h1,
 .kvr-app h2,
 .kvr-app h3,
 .kvr-app h4,
 .kvr-app p {
	 color: inherit;
	 margin: 0;
	 padding: 0;
	 font-family: inherit;
 }
 
 .kvr-app img {
	 max-width: 100%;
	 height: auto;
	 display: block;
 }
 
 .kvr-sr-only {
	 position: absolute !important;
	 width: 1px !important;
	 height: 1px !important;
	 padding: 0 !important;
	 margin: -1px !important;
	 overflow: hidden !important;
	 clip: rect(0, 0, 0, 0) !important;
	 white-space: nowrap !important;
	 border: 0 !important;
 }
 
 .kvr-container {
	 width: 100%;
	 max-width: 1200px;
	 margin: 0 auto;
	 padding: 20px var(--kvr-space) 8px;
 }
 
 /* ---------- Views ---------- */
 
 .kvr-view {
	 display: none;
	 animation: kvr-fade-in 0.25s var(--kvr-transition);
 }
 
 .kvr-view.is-active {
	 display: block;
 }
 
 @keyframes kvr-fade-in {
	 from { opacity: 0; transform: translateY(8px); }
	 to { opacity: 1; transform: translateY(0); }
 }
 
 @media (prefers-reduced-motion: reduce) {
	 .kvr-view { animation: none; }
	 .kvr-app * { transition: none !important; }
 }
 
 .kvr-view-bar {
	 display: flex;
	 align-items: center;
	 margin-bottom: 16px;
 }
 
 .kvr-app .kvr-back {
	 display: inline-flex;
	 align-items: center;
	 gap: 8px;
	 min-height: 44px;
	 padding: 8px 12px 8px 8px;
	 border: 0 !important;
	 border-radius: var(--kvr-radius-sm);
	 background: transparent !important;
	 color: var(--kvr-secondary) !important;
	 font-weight: 600;
	 font-size: 0.9375rem;
	 letter-spacing: 0.04em;
	 cursor: pointer;
	 transition: background var(--kvr-transition);
 }
 
 .kvr-app .kvr-back:hover {
	 background: var(--kvr-background-soft) !important;
 }
 
 .kvr-app .kvr-back:focus-visible,
 .kvr-app button:focus-visible,
 .kvr-app a:focus-visible,
 .kvr-app input:focus-visible,
 .kvr-app select:focus-visible,
 .kvr-app textarea:focus-visible,
 .kvr-app label.kvr-btn:focus-visible,
 .kvr-app [role="tab"]:focus-visible,
 .kvr-app [role="button"]:focus-visible {
	 outline: 2px solid var(--kvr-secondary) !important;
	 outline-offset: 2px !important;
	 box-shadow: var(--kvr-ring) !important;
 }
 
 .kvr-view-title {
	 margin: 0 0 8px !important;
	 font-size: 1.5rem;
	 font-weight: 800;
	 line-height: 1.2;
	 letter-spacing: -0.02em;
	 color: var(--kvr-text) !important;
 }
 
 .kvr-view-header {
	 margin-bottom: 22px;
 }
 
 .kvr-section-title {
	 margin: 0 0 14px !important;
	 font-size: 1.125rem;
	 font-weight: 700;
	 line-height: 1.3;
	 letter-spacing: -0.015em;
	 color: var(--kvr-text) !important;
 }
 
 /* ---------- Intro / Home (pro-icon-maker concept + corporate colors) ---------- */
 
 .kvr-hero {
	 display: grid;
	 gap: 20px;
	 margin-bottom: 18px;
	 padding-top: 8px;
 }
 
 .kvr-hero__content {
	 min-width: 0;
 }
 
 .kvr-hero__media {
	 position: relative;
	 display: block;
	 margin: 0;
	 overflow: hidden;
	 border-radius: 28px;
	 box-shadow: var(--kvr-shadow-md);
	 background: var(--kvr-background);
 }
 
 .kvr-hero__media img {
	 width: 100%;
	 height: 100%;
	 max-height: 440px;
	 object-fit: cover;
 }
 
 .kvr-hero__badge {
	 position: absolute;
	 left: 14px;
	 bottom: 14px;
	 display: flex;
	 align-items: center;
	 gap: 10px;
	 max-width: calc(100% - 28px);
	 padding: 10px 14px 10px 10px;
	 border-radius: 999px;
	 background: rgba(255, 255, 255, 0.97);
	 box-shadow: var(--kvr-shadow-md);
	 border: 1px solid rgba(255, 255, 255, 0.9);
 }
 
 .kvr-hero__badge-icon {
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 width: 36px;
	 height: 36px;
	 border-radius: 50%;
	 background: #F3EEF8;
	 color: #8B6BB0;
 }
 
 #kvr-app.kvr-app .kvr-hero__badge-copy {
	 display: flex;
	 flex-direction: column;
	 gap: 1px;
	 min-width: 0;
	 padding-right: 4px;
	 font-size: 0.875rem !important;
	 line-height: 1.3 !important;
	 color: var(--kvr-text-muted) !important;
 }
 
 #kvr-app.kvr-app .kvr-hero__badge-copy strong {
	 font-size: 1rem !important;
	 font-weight: 800 !important;
	 color: var(--kvr-text) !important;
 }
 
 .kvr-actions {
	 display: grid;
	 gap: 12px;
	 margin-top: 22px;
	 margin-bottom: 0;
 }
 
 #kvr-app.kvr-app .kvr-action-card,
 #kvr-app.kvr-app button.kvr-action-card {
	 display: flex;
	 align-items: flex-start;
	 gap: 12px;
	 width: 100%;
	 padding: 16px 18px !important;
	 border: 0 !important;
	 border-radius: 999px !important;
	 text-align: left;
	 cursor: pointer;
	 box-shadow: var(--kvr-shadow-sm) !important;
	 transition: transform var(--kvr-transition), box-shadow var(--kvr-transition), filter var(--kvr-transition);
	 min-height: 72px;
 }
 
 #kvr-app.kvr-app .kvr-action-card:hover {
	 transform: translateY(-2px);
	 box-shadow: var(--kvr-shadow-md) !important;
	 filter: brightness(1.02);
 }
 
 #kvr-app.kvr-app .kvr-action-card--lost {
	 background: var(--kvr-lost) !important;
	 color: #ffffff !important;
 }
 
 #kvr-app.kvr-app .kvr-action-card--found {
	 background: var(--kvr-found) !important;
	 color: #ffffff !important;
 }
 
 .kvr-action-card__icon {
	 display: inline-flex;
	 margin-top: 2px;
	 color: inherit;
 }
 
 .kvr-action-card__copy {
	 display: grid;
	 gap: 4px;
	 min-width: 0;
 }
 
 #kvr-app.kvr-app .kvr-action-card__label {
	 display: block;
	 font-size: 1rem !important;
	 font-weight: 800 !important;
	 letter-spacing: 0.04em !important;
	 text-transform: uppercase !important;
	 line-height: 1.25 !important;
	 color: #ffffff !important;
 }
 
 #kvr-app.kvr-app .kvr-action-card__text {
	 display: block;
	 font-size: 0.9375rem !important;
	 font-weight: 500 !important;
	 line-height: 1.4 !important;
	 color: rgba(255, 255, 255, 0.9) !important;
 }
 
 #kvr-app.kvr-app .kvr-action-search,
 #kvr-app.kvr-app button.kvr-action-search {
	 display: inline-flex;
	 align-items: center;
	 gap: 8px;
	 width: auto;
	 margin-top: 14px;
	 min-height: 44px;
	 padding: 8px 2px !important;
	 border: 0 !important;
	 border-radius: 0 !important;
	 background: transparent !important;
	 color: var(--kvr-primary) !important;
	 font-size: 0.9rem !important;
	 font-weight: 700 !important;
	 cursor: pointer;
	 box-shadow: none !important;
	 text-decoration: none !important;
 }
 
 #kvr-app.kvr-app .kvr-action-search:hover {
	 color: var(--kvr-secondary) !important;
	 text-decoration: underline !important;
 }
 
 /* ---------- Search ---------- */
 
 .kvr-search-block {
	 margin-bottom: 18px;
	 padding: 0;
	 background: transparent;
	 border: 0;
	 border-radius: 0;
	 box-shadow: none;
	 backdrop-filter: none;
 }
 
 .kvr-search-block .kvr-section-title {
	 margin-bottom: 12px !important;
 }
 
 .kvr-search-field {
	 position: relative;
	 margin-bottom: 12px;
 }
 
 .kvr-search-field__icon {
	 position: absolute;
	 left: 18px;
	 top: 50%;
	 transform: translateY(-50%);
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 width: 20px;
	 height: 20px;
	 color: var(--kvr-primary);
	 pointer-events: none;
	 z-index: 1;
 }
 
 #kvr-app.kvr-app .kvr-search-field .kvr-search-input,
 #kvr-app.kvr-app input.kvr-search-input {
	 padding: 12px 18px 12px 52px !important;
	 min-height: 52px;
	 border-radius: 999px !important;
	 box-shadow: var(--kvr-shadow-sm) !important;
 }
 
 .kvr-chips {
	 display: flex;
	 flex-wrap: wrap;
	 gap: 8px;
 }
 
 .kvr-app .kvr-chip,
 .kvr-app button.kvr-chip {
	 display: inline-flex;
	 align-items: center;
	 gap: 7px;
	 min-height: 40px;
	 padding: 8px 14px !important;
	 border: 1px solid var(--kvr-border) !important;
	 border-radius: 999px !important;
	 background: #ffffff !important;
	 color: var(--kvr-text-muted) !important;
	 font-size: 0.875rem !important;
	 font-weight: 600 !important;
	 letter-spacing: 0;
	 line-height: 1.2 !important;
	 cursor: pointer;
	 box-shadow: none !important;
	 transition: background var(--kvr-transition), border-color var(--kvr-transition), color var(--kvr-transition), box-shadow var(--kvr-transition);
 }
 
 .kvr-app .kvr-chip .kvr-icon {
	 color: currentColor;
 }
 
 .kvr-app .kvr-chip:hover {
	 border-color: rgba(0, 186, 179, 0.4) !important;
	 color: var(--kvr-text) !important;
	 background: #ffffff !important;
 }
 
 .kvr-app .kvr-chip.is-active,
 .kvr-app button.kvr-chip.is-active {
	 background: var(--kvr-primary) !important;
	 border-color: var(--kvr-primary) !important;
	 color: #ffffff !important;
	 box-shadow: 0 4px 12px rgba(0, 186, 179, 0.25) !important;
 }
 
 .kvr-app .kvr-chip--geo,
 .kvr-app button.kvr-chip--geo {
	 border-color: var(--kvr-border) !important;
	 color: var(--kvr-text-muted) !important;
	 background: #ffffff !important;
 }
 
 .kvr-app .kvr-chip--geo.is-active {
	 background: var(--kvr-primary) !important;
	 border-color: var(--kvr-primary) !important;
	 color: #ffffff !important;
 }
 
 /* ---------- Tabs ---------- */
 
 #kvr-inicio,
 #kvr-buscar,
 #kvr-reportes,
 #kvr-reunidas,
 #kvr-publicar {
	 scroll-margin-top: 112px;
 }

 .kvr-tabs {
	 display: flex;
	 gap: 0;
	 margin-bottom: 16px;
	 padding: 4px;
	 border-radius: var(--kvr-radius-xl);
	 background: #ffffff;
	 border: 1px solid var(--kvr-border);
 }
 
 .kvr-app .kvr-tab,
 .kvr-app button.kvr-tab {
	 position: relative;
	 flex: 1;
	 min-height: 48px;
	 padding: 12px 10px !important;
	 border: 0 !important;
	 border-radius: 20px !important;
	 background: transparent !important;
	 color: var(--kvr-text-muted) !important;
	 font-size: 0.9375rem !important;
	 font-weight: 800 !important;
	 letter-spacing: 0.04em;
	 cursor: pointer;
	 box-shadow: none !important;
	 transition: background var(--kvr-transition), color var(--kvr-transition), box-shadow var(--kvr-transition);
 }
 
 .kvr-app .kvr-tab.is-active,
 .kvr-app button.kvr-tab.is-active {
	 background: var(--kvr-primary) !important;
	 color: #ffffff !important;
	 box-shadow: 0 4px 12px rgba(0, 186, 179, 0.28) !important;
 }
 
 .kvr-tab.is-active::after {
	 display: none;
 }
 
 /* ---------- Skeleton / ghost loading ---------- */

 .kvr-skeleton-list {
	 display: contents;
 }

 .kvr-pet-card--skeleton {
	 pointer-events: none;
	 box-shadow: none;
 }

 .kvr-pet-card--skeleton:hover {
	 transform: none;
	 box-shadow: none;
 }

 .kvr-skeleton {
	 display: block;
	 border-radius: 10px;
	 background: linear-gradient(
		 90deg,
		 #e8eeee 0%,
		 #f4f7f7 45%,
		 #e8eeee 90%
	 );
	 background-size: 200% 100%;
	 animation: kvr-skeleton-shimmer 1.35s ease-in-out infinite;
 }

 .kvr-skeleton--media {
	 aspect-ratio: 4 / 3;
	 border-radius: 0;
	 width: 100%;
 }

 .kvr-skeleton--pill {
	 width: 72px;
	 height: 22px;
	 border-radius: 999px;
	 margin-bottom: 10px;
 }

 .kvr-skeleton--line {
	 height: 12px;
	 margin-bottom: 10px;
 }

 .kvr-skeleton--w35 { width: 35%; }
 .kvr-skeleton--w45 { width: 45%; }
 .kvr-skeleton--w55 { width: 55%; }
 .kvr-skeleton--w70 { width: 70%; }

 @keyframes kvr-skeleton-shimmer {
	 0% { background-position: 100% 0; }
	 100% { background-position: -100% 0; }
 }

 @media (prefers-reduced-motion: reduce) {
	 .kvr-skeleton {
		 animation: none;
		 background: #e8eeee;
	 }
 }

 /* ---------- Pet grid / cards ---------- */
 
 .kvr-pet-grid {
	 display: grid;
	 grid-template-columns: 1fr;
	 gap: 16px;
 }
 
 .kvr-pet-card {
	 display: flex;
	 flex-direction: column;
	 height: 100%;
	 overflow: hidden;
	 border: 1px solid var(--kvr-border);
	 border-radius: var(--kvr-radius-lg);
	 background: #ffffff;
	 box-shadow: var(--kvr-shadow-sm);
	 transition: transform var(--kvr-transition), box-shadow var(--kvr-transition);
 }
 
 .kvr-pet-card:hover {
	 transform: translateY(-2px);
	 box-shadow: var(--kvr-shadow-md);
 }
 
 .kvr-pet-card__media {
	 position: relative;
	 display: block;
	 aspect-ratio: 4 / 3;
	 background: #0f1a1a;
	 overflow: hidden;
	 color: inherit;
	 text-decoration: none !important;
	 cursor: pointer;
	 line-height: 0;
 }

 /* Elementor/theme often forces links to position:static — anchor badges escape. */
 #kvr-app.kvr-app a.kvr-pet-card__media {
	 position: relative !important;
 }

 #kvr-app.kvr-app .kvr-pet-card__media .kvr-badge {
	 position: absolute !important;
	 top: 12px !important;
	 left: 12px !important;
	 z-index: 2;
 }
 
 .kvr-pet-card__media:focus-visible {
	 outline: 3px solid rgba(0, 109, 104, 0.45);
	 outline-offset: -3px;
 }
 
 .kvr-pet-card__media img,
 .kvr-pet-card__media-empty {
	 display: block !important;
	 width: 100% !important;
	 height: 100% !important;
	 max-width: none !important;
	 max-height: none !important;
	 margin: 0 !important;
	 padding: 0 !important;
	 border: 0 !important;
	 border-radius: 0 !important;
	 object-fit: cover !important;
	 object-position: center !important;
 }
 
 .kvr-pet-card__media-empty {
	 background: linear-gradient(145deg, var(--kvr-background-soft), #e8f2f2);
 }
 
 .kvr-badge {
	 position: absolute;
	 top: 12px;
	 left: 12px;
	 display: inline-flex;
	 align-items: center;
	 gap: 6px;
	 min-height: 30px;
	 padding: 6px 12px;
	 border-radius: 999px;
	 font-size: 0.8125rem;
	 font-weight: 800;
	 letter-spacing: 0.05em;
	 text-transform: uppercase;
	 border: 0;
	 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
 }
 
 .kvr-badge--lost,
 .kvr-badge--found,
 .kvr-badge--reunited {
	 color: #ffffff !important;
 }
 
 .kvr-badge--lost {
	 background: var(--kvr-lost);
 }
 
 .kvr-badge--found {
	 background: var(--kvr-found);
 }
 
 .kvr-badge--reunited {
	 background: var(--kvr-secondary);
 }
 
 .kvr-badge--lost::before,
 .kvr-badge--found::before,
 .kvr-badge--reunited::before {
	 content: "";
	 width: 6px;
	 height: 6px;
	 border-radius: 50%;
	 background: #ffffff;
	 display: inline-block;
 }
 
 .kvr-pet-card__actions {
	 display: flex;
	 flex-direction: column;
	 align-items: stretch;
	 gap: 10px;
	 margin-top: auto;
	 padding-top: 14px;
 }

 .kvr-pet-card__cta {
	 display: inline-flex !important;
	 align-items: center;
	 justify-content: center;
	 gap: 8px;
	 width: 100%;
	 min-height: 48px;
	 font-weight: 800 !important;
	 letter-spacing: 0.02em;
 }

 .kvr-pet-card__actions-row {
	 display: flex;
	 align-items: center;
	 gap: 8px;
 }

 .kvr-pet-card__actions-row .kvr-btn {
	 flex: 1 1 0;
	 justify-content: center;
 }

 .kvr-pet-card__actions .kvr-btn--pill {
	 flex: 1;
 }
 
 #kvr-app.kvr-app .kvr-pet-card__home {
	 margin: 0 0 4px !important;
	 font-size: 0.9375rem !important;
	 font-weight: 800 !important;
	 color: var(--kvr-found) !important;
 }
 
 .kvr-app .kvr-btn--icon,
 .kvr-app button.kvr-btn--icon,
 .kvr-app a.kvr-btn--icon,
 .kvr-app .kvr-btn--sm.kvr-btn--icon {
	 box-sizing: border-box;
	 width: 44px !important;
	 min-width: 44px !important;
	 max-width: 44px !important;
	 height: 44px !important;
	 min-height: 44px !important;
	 max-height: 44px !important;
	 padding: 0 !important;
	 aspect-ratio: 1 / 1;
	 border-radius: 50% !important;
	 color: var(--kvr-primary) !important;
	 border-color: var(--kvr-border) !important;
	 flex: 0 0 44px;
 }
 
 .kvr-reunited {
	 margin-top: 28px;
 }
 
 .kvr-pet-grid--reunited {
	 display: grid;
	 grid-template-columns: 1fr;
	 gap: 10px;
	 margin-top: 12px;
 }

 .kvr-pet-grid--reunited .kvr-related-card {
	 height: 100%;
 }
 
 .kvr-cta-banner {
	 position: relative;
	 isolation: isolate;
	 display: flex;
	 flex-direction: column;
	 align-items: center;
	 text-align: center;
	 margin: 32px 0 8px;
	 padding: 36px 24px;
	 border-radius: 36px;
	 overflow: hidden;
	 background-color: #006D68;
	 background-image: var(--kvr-cta-bg);
	 background-size: cover;
	 background-position: center center;
	 background-repeat: no-repeat;
	 box-shadow: var(--kvr-shadow-md);
 }

 .kvr-cta-banner::before {
	 content: "";
	 position: absolute;
	 inset: 0;
	 z-index: 0;
	 background: linear-gradient(165deg, rgb(0 45 48 / 15%) 0%, rgb(0 80 78 / 43%) 48%, rgb(0 55 52 / 32%) 100%);
	 pointer-events: none;
 }

 .kvr-cta-banner > * {
	 position: relative;
	 z-index: 1;
 }
 
 .kvr-cta-banner__icon {
	 display: inline-flex;
	 margin-bottom: 14px;
	 color: #ffffff;
 }
 
 #kvr-app.kvr-app h2.kvr-cta-banner__title {
	 margin: 0 0 10px !important;
	 max-width: 18ch;
	 font-size: clamp(1.4rem, 3.2vw, 1.85rem) !important;
	 font-weight: 800 !important;
	 line-height: 1.15 !important;
	 color: #ffffff !important;
 }
 
 #kvr-app.kvr-app p.kvr-cta-banner__text {
	 margin: 0 0 20px !important;
	 max-width: 42ch;
	 font-size: 0.98rem !important;
	 font-weight: 500 !important;
	 line-height: 1.5 !important;
	 color: #ffffff !important;
 }
 
 .kvr-cta-banner__actions {
	 display: flex;
	 flex-direction: column;
	 align-items: center;
	 gap: 10px;
	 width: 100%;
	 max-width: 320px;
 }
 
 .kvr-empty__icon {
	 display: inline-flex;
	 color: var(--kvr-primary);
	 opacity: 0.7;
 }
 
 .kvr-pet-card__body {
	 display: flex;
	 flex-direction: column;
	 flex: 1 1 auto;
	 padding: 16px;
 }
 
 .kvr-pet-card__code,
 .kvr-detail__code,
 .kvr-share-card__code,
 .kvr-single__code {
	 margin: 0 0 6px !important;
	 font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	 font-size: 0.82rem;
	 font-weight: 700;
	 letter-spacing: 0.04em;
	 color: var(--kvr-secondary) !important;
 }

 #kvr-app.kvr-app p.kvr-pet-card__code,
 #kvr-app.kvr-app p.kvr-detail__code {
	 margin: 0 0 6px !important;
	 padding: 0 !important;
	 font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
	 font-size: 0.82rem !important;
	 font-weight: 700 !important;
	 letter-spacing: 0.04em !important;
	 color: var(--kvr-secondary) !important;
 }

 .kvr-pet-card__name {
	 margin: 0 0 4px !important;
	 font-size: 1.55rem;
	 font-weight: 800;
	 line-height: 1.12;
	 letter-spacing: -0.03em;
	 color: var(--kvr-secondary) !important;
 }
 
 .kvr-pet-card__name-link {
	 font-size: 24px;
	 color: inherit !important;
	 text-decoration: none !important;
 }
 
 .kvr-pet-card__name-link:hover,
 .kvr-pet-card__name-link:focus-visible {
	 color: var(--kvr-primary) !important;
	 text-decoration: underline !important;
	 text-underline-offset: 3px;
 }
 
 .kvr-pet-card__breed {
	 margin: 0 0 6px !important;
	 font-size: 15px;
	 font-weight: 500;
	 letter-spacing: 0;
	 text-transform: none;
	 line-height: 1.4;
	 color: var(--kvr-text-muted) !important;
 }
 
 .kvr-pet-card__breed-label {
	 font-size: 15px;
	 font-weight: 600;
 }
 
 .kvr-pet-card__detail {
	 margin: 0 0 10px !important;
	 font-size: 1rem;
	 font-weight: 500;
	 line-height: 1.45;
	 color: var(--kvr-text) !important;
 }
 
 .kvr-pet-card__location,
 .kvr-pet-card__distance,
 .kvr-pet-card__meta {
	 display: flex;
	 align-items: center;
	 gap: 8px;
	 margin: 0 0 6px !important;
	 font-size: 0.975rem;
	 color: var(--kvr-text-muted) !important;
 }
 
 .kvr-pet-card__location .kvr-icon,
 .kvr-pet-card__distance .kvr-icon,
 .kvr-pet-card__meta .kvr-icon {
	 flex: 0 0 auto;
	 color: var(--kvr-primary);
 }

 .kvr-pet-card__distance {
	 font-weight: 700 !important;
	 color: var(--kvr-secondary) !important;
 }
 
 .kvr-pet-card__location,
 .kvr-pet-card__meta {
	 margin: 0 0 6px !important;
	 font-size: 0.975rem;
	 color: var(--kvr-text-muted) !important;
 }
 
 .kvr-pet-card__meta strong {
	 color: var(--kvr-text);
	 font-weight: 700;
 }
 
 .kvr-pet-card--compact {
	 min-width: 220px;
	 max-width: 240px;
	 flex: 0 0 auto;
 }
 
 .kvr-pet-card--horizontal {
	 display: grid;
	 grid-template-columns: 120px 1fr;
	 min-width: 280px;
	 max-width: 320px;
	 flex: 0 0 auto;
 }
 
 .kvr-pet-card--horizontal .kvr-pet-card__media {
	 aspect-ratio: auto;
	 height: 100%;
	 min-height: 120px;
 }
 
 .kvr-pet-card--horizontal .kvr-badge {
	 position: static;
	 margin-bottom: 8px;
	 box-shadow: none;
 }
 
 .kvr-reunited {
	 margin-top: 28px;
	 padding-top: 4px;
 }
 
 .kvr-reunited-rail {
	 display: flex;
	 gap: 12px;
	 overflow-x: auto;
	 padding-bottom: 10px;
	 scroll-snap-type: x mandatory;
	 -webkit-overflow-scrolling: touch;
	 scrollbar-width: thin;
 }
 
 .kvr-reunited-rail > * {
	 scroll-snap-align: start;
 }
 
 .kvr-pet-card--reunited-row {
	 min-width: min(100%, 320px);
	 max-width: 360px;
	 flex: 1 1 auto;
	 border: 0;
	 box-shadow: none;
	 background: transparent;
 }
 
 .kvr-pet-card--reunited-row:hover {
	 transform: none;
	 box-shadow: none;
 }
 
 .kvr-app .kvr-reunited-link,
 .kvr-app button.kvr-reunited-link {
	 display: flex;
	 align-items: center;
	 gap: 12px;
	 width: 100%;
	 padding: 10px 12px 10px 10px !important;
	 border: 1px solid var(--kvr-border) !important;
	 border-radius: var(--kvr-radius-lg) !important;
	 background: #ffffff !important;
	 text-align: left;
	 cursor: pointer;
	 box-shadow: var(--kvr-shadow-sm) !important;
	 color: var(--kvr-text) !important;
 }
 
 .kvr-reunited-link img {
	 width: 64px;
	 height: 64px;
	 border-radius: 14px;
	 object-fit: cover;
	 flex-shrink: 0;
 }
 
 .kvr-reunited-link__body {
	 display: flex;
	 flex-direction: column;
	 gap: 2px;
	 min-width: 0;
 }
 
 .kvr-reunited-link__meta {
	 font-size: 0.9rem;
	 font-weight: 600;
	 color: var(--kvr-text-muted);
 }
 
 .kvr-list-footer {
	 margin-top: 16px;
	 margin-bottom: 8px;
 }
 
 .kvr-list-footer .kvr-btn {
	 max-width: 280px;
	 margin: 0 auto;
 }
 
 .kvr-empty {
	 padding: 44px 18px;
	 text-align: center;
	 border: 1px dashed var(--kvr-border);
	 border-radius: var(--kvr-radius-lg);
	 background: rgba(255, 255, 255, 0.6);
 }
 
 .kvr-empty__icon {
	 margin: 0 0 4px !important;
	 font-size: 2rem;
 }
 
 .kvr-empty__title {
	 margin: 8px 0 !important;
	 font-size: 1.15rem;
	 font-weight: 800;
	 color: var(--kvr-text) !important;
 }
 
 .kvr-empty__text {
	 margin: 0 0 18px !important;
	 color: var(--kvr-text-muted) !important;
 }
 
 .kvr-empty__actions {
	 display: flex;
	 flex-direction: column;
	 gap: 8px;
 }
 
 .kvr-hp {
	 position: absolute !important;
	 left: -9999px !important;
	 width: 1px !important;
	 height: 1px !important;
	 overflow: hidden !important;
 }
 
 .kvr-form {
	 display: block;
	 width: 100%;
	 max-width: 640px;
	 margin: 0 auto;
 }
 
 #kvr-app.kvr-app .kvr-view[data-kvr-view="report-lost"] .kvr-stepper,
 #kvr-app.kvr-app .kvr-view[data-kvr-view="report-found"] .kvr-view-header {
	 max-width: 640px;
	 margin-left: auto;
	 margin-right: auto;
 }
 
 .kvr-field {
	 margin-bottom: 16px;
 }
 
 .kvr-field-row {
	 display: grid;
	 grid-template-columns: 1fr 1fr;
	 gap: 12px;
 }
 
 .kvr-fieldset {
	 margin: 0 0 20px;
	 padding: 0;
	 border: 0;
 }
 
 .kvr-label {
	 display: block;
	 margin-bottom: 7px;
	 font-size: 0.9375rem;
	 font-weight: 700;
	 color: var(--kvr-text) !important;
 }
 
 .kvr-required {
	 color: var(--kvr-danger);
 }
 
 .kvr-optional {
	 font-weight: 500;
	 color: var(--kvr-text-muted);
 }
 
 .kvr-hint {
	 margin: 0 0 10px !important;
	 font-size: 0.9375rem;
	 color: var(--kvr-text-muted) !important;
 }

 .kvr-char-count {
	 margin: 6px 0 0 !important;
	 text-align: right;
	 font-size: 0.75rem !important;
	 font-weight: 600 !important;
	 color: var(--kvr-text-muted) !important;
 }

 .kvr-char-count.is-near {
	 color: var(--kvr-accent, #ff8f00) !important;
 }

 .kvr-char-count.is-full {
	 color: var(--kvr-danger, #d64545) !important;
 }
 
 .kvr-app .kvr-input,
 .kvr-app .kvr-select,
 .kvr-app .kvr-textarea,
 .kvr-app input.kvr-input,
 .kvr-app select.kvr-select,
 .kvr-app textarea.kvr-textarea {
	 width: 100%;
	 min-height: 48px;
	 padding: 12px 14px !important;
	 border: 1px solid var(--kvr-border) !important;
	 border-radius: var(--kvr-radius-sm) !important;
	 background: #ffffff !important;
	 color: var(--kvr-text) !important;
	 appearance: none;
	 box-shadow: var(--kvr-shadow-xs);
	 transition: border-color var(--kvr-transition), box-shadow var(--kvr-transition);
 }
 
 /* Search field: keep text clear of the leading icon (beats generic .kvr-input padding) */
 #kvr-app.kvr-app .kvr-search-field input.kvr-search-input {
	 padding: 12px 18px 12px 52px !important;
	 border-radius: 999px !important;
	 min-height: 52px;
	 box-shadow: var(--kvr-shadow-sm) !important;
 }
 
 .kvr-textarea {
	 min-height: 96px;
	 resize: vertical;
 }
 
 .kvr-app .kvr-input:focus,
 .kvr-app .kvr-select:focus,
 .kvr-app .kvr-textarea:focus,
 .kvr-app input.kvr-input:focus,
 .kvr-app select.kvr-select:focus,
 .kvr-app textarea.kvr-textarea:focus {
	 border-color: var(--kvr-primary) !important;
	 box-shadow: var(--kvr-ring) !important;
	 outline: none !important;
 }
 
 .kvr-app .kvr-input::placeholder,
 .kvr-app .kvr-textarea::placeholder {
	 color: #8A9A9A !important;
	 opacity: 1;
 }
 
 .kvr-field-error {
	 display: none;
	 align-items: flex-start;
	 gap: 8px;
	 margin: 8px 0 0 !important;
	 padding: 0 !important;
	 font-size: 0.9375rem;
	 font-weight: 600;
	 line-height: 1.35;
	 color: var(--kvr-danger) !important;
 }
 
 .kvr-field-error.is-visible {
	 display: flex !important;
 }
 
 .kvr-field-error__icon {
	 flex: 0 0 auto;
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 width: 1.1rem;
	 height: 1.1rem;
	 margin-top: 0.05rem;
	 border-radius: 50%;
	 background: var(--kvr-danger);
	 color: #fff;
	 font-size: 0.8125rem;
	 font-weight: 800;
	 line-height: 1;
 }
 
 #kvr-app.kvr-app .kvr-input:user-invalid,
 #kvr-app.kvr-app .kvr-textarea:user-invalid,
 #kvr-app.kvr-app .kvr-select:user-invalid,
 #kvr-app.kvr-app .kvr-input.user-invalid-fallback,
 #kvr-app.kvr-app .kvr-textarea.user-invalid-fallback,
 #kvr-app.kvr-app .kvr-select.user-invalid-fallback {
	 border-color: var(--kvr-danger) !important;
	 background-color: #fff5f5 !important;
	 box-shadow: 0 0 0 3px rgba(198, 55, 55, 0.12) !important;
 }
 
 #kvr-app.kvr-app .kvr-input:required:user-valid,
 #kvr-app.kvr-app .kvr-textarea:required:user-valid,
 #kvr-app.kvr-app .kvr-select:required:user-valid {
	 border-color: #1f8a70 !important;
 }
 
 #kvr-app.kvr-app .kvr-input:user-invalid ~ .kvr-field-error,
 #kvr-app.kvr-app .kvr-textarea:user-invalid ~ .kvr-field-error,
 #kvr-app.kvr-app .kvr-select:user-invalid ~ .kvr-field-error,
 #kvr-app.kvr-app .kvr-input.user-invalid-fallback ~ .kvr-field-error,
 #kvr-app.kvr-app .kvr-textarea.user-invalid-fallback ~ .kvr-field-error,
 #kvr-app.kvr-app .kvr-select.user-invalid-fallback ~ .kvr-field-error,
 #kvr-app.kvr-app .kvr-check:has(:user-invalid) + .kvr-field-error,
 #kvr-app.kvr-app .kvr-check:has(.user-invalid-fallback) + .kvr-field-error,
 #kvr-app.kvr-app .kvr-fieldset:has(:user-invalid) > .kvr-field-error,
 #kvr-app.kvr-app .kvr-fieldset:has(.user-invalid-fallback) > .kvr-field-error,
 #kvr-app.kvr-app .kvr-fieldset:has([data-kvr-photo-input]:user-invalid) > .kvr-field-error,
 #kvr-app.kvr-app .kvr-fieldset:has([data-kvr-photo-input].user-invalid-fallback) > .kvr-field-error {
	 display: flex;
 }
 
 #kvr-app.kvr-app .kvr-segmented:has(:user-invalid),
 #kvr-app.kvr-app .kvr-choice-grid:has(:user-invalid),
 #kvr-app.kvr-app .kvr-segmented:has(.user-invalid-fallback),
 #kvr-app.kvr-app .kvr-choice-grid:has(.user-invalid-fallback) {
	 outline: 2px solid rgba(198, 55, 55, 0.45);
	 outline-offset: 4px;
	 border-radius: var(--kvr-radius-sm);
 }
 
 #kvr-app.kvr-app .kvr-check:has(:user-invalid),
 #kvr-app.kvr-app .kvr-check:has(.user-invalid-fallback) {
	 outline: 2px solid rgba(198, 55, 55, 0.35);
	 outline-offset: 4px;
	 border-radius: 8px;
 }
 
 #kvr-app.kvr-app .kvr-fieldset:has([data-kvr-photo-input]:user-invalid),
 #kvr-app.kvr-app .kvr-fieldset:has([data-kvr-photo-input].user-invalid-fallback) {
	 outline: 2px solid rgba(198, 55, 55, 0.35);
	 outline-offset: 6px;
	 border-radius: var(--kvr-radius-sm);
 }
 
 .kvr-mt {
	 margin-top: 8px;
 }
 
 .kvr-segmented {
	 display: grid;
	 grid-template-columns: repeat(3, 1fr);
	 gap: 8px;
 }
 
 .kvr-segment {
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 min-height: 48px;
	 padding: 8px;
	 border: 1px solid var(--kvr-border);
	 border-radius: var(--kvr-radius-sm);
	 background: #ffffff;
	 font-weight: 600;
	 cursor: pointer;
	 transition: border-color var(--kvr-transition), background var(--kvr-transition), color var(--kvr-transition);
 }
 
 .kvr-segment:has(input:checked) {
	 border-color: var(--kvr-primary);
	 background: var(--kvr-background-primary-soft);
	 color: var(--kvr-secondary);
	 box-shadow: var(--kvr-shadow-xs);
 }
 
 .kvr-segment input {
	 position: absolute;
	 opacity: 0;
	 pointer-events: none;
 }
 
 .kvr-choice-grid {
	 display: grid;
	 gap: 8px;
 }
 
 .kvr-choice {
	 display: block;
	 cursor: pointer;
 }
 
 .kvr-choice input {
	 position: absolute;
	 opacity: 0;
	 pointer-events: none;
 }
 
 .kvr-choice span {
	 display: flex;
	 align-items: center;
	 gap: 10px;
	 min-height: 52px;
	 padding: 12px 14px;
	 border: 1.5px solid var(--kvr-border);
	 border-radius: var(--kvr-radius-md);
	 background: #ffffff;
	 font-weight: 700;
	 font-size: 0.9rem;
	 color: var(--kvr-text);
	 transition: border-color var(--kvr-transition), background var(--kvr-transition), box-shadow var(--kvr-transition);
 }
 
 .kvr-choice:has(input:checked) span {
	 border-color: var(--kvr-primary);
	 background: var(--kvr-background-primary-soft);
	 box-shadow: var(--kvr-shadow-xs);
 }
 
 .kvr-check {
	 display: flex;
	 gap: 12px;
	 align-items: flex-start;
	 margin: 4px 0 20px;
	 padding: 14px 16px;
	 border: 1px solid var(--kvr-border);
	 border-radius: var(--kvr-radius-md);
	 background: #ffffff;
	 font-size: 0.9375rem;
	 line-height: 1.45;
	 cursor: pointer;
	 color: var(--kvr-text);
	 transition: border-color var(--kvr-transition), box-shadow var(--kvr-transition), background var(--kvr-transition);
 }

 .kvr-check:hover {
	 border-color: rgba(0, 186, 179, 0.45);
	 box-shadow: var(--kvr-shadow-xs);
 }

 .kvr-check:has(input:checked) {
	 border-color: rgba(0, 186, 179, 0.55);
	 background: var(--kvr-background-primary-soft);
 }

 .kvr-check input {
	 position: absolute;
	 opacity: 0;
	 width: 1px;
	 height: 1px;
	 margin: 0;
	 pointer-events: none;
 }

 .kvr-check__box {
	 position: relative;
	 flex-shrink: 0;
	 width: 22px;
	 height: 22px;
	 margin-top: 1px;
	 border: 2px solid #c5d4d4;
	 border-radius: 6px;
	 background: #ffffff;
	 transition: border-color var(--kvr-transition), background var(--kvr-transition), box-shadow var(--kvr-transition);
 }

 .kvr-check__box::after {
	 content: '';
	 position: absolute;
	 left: 6px;
	 top: 2px;
	 width: 6px;
	 height: 11px;
	 border: solid #ffffff;
	 border-width: 0 2.5px 2.5px 0;
	 transform: rotate(45deg) scale(0);
	 opacity: 0;
	 transition: transform 120ms ease, opacity 120ms ease;
 }

 .kvr-check input:checked + .kvr-check__box {
	 border-color: var(--kvr-primary);
	 background: var(--kvr-primary);
	 box-shadow: 0 0 0 3px rgba(0, 186, 179, 0.18);
 }

 .kvr-check input:checked + .kvr-check__box::after {
	 transform: rotate(45deg) scale(1);
	 opacity: 1;
 }

 .kvr-check input:focus-visible + .kvr-check__box {
	 outline: 2px solid var(--kvr-primary);
	 outline-offset: 2px;
 }

 .kvr-check__label {
	 flex: 1;
	 min-width: 0;
	 color: var(--kvr-text);
	 font-weight: 600;
 }

 .kvr-check__body {
	 flex: 1;
	 min-width: 0;
	 display: flex;
	 flex-direction: column;
	 gap: 6px;
 }

 .kvr-check__body .kvr-check__label {
	 flex: none;
 }

 .kvr-check__note {
	 display: block;
	 margin: 0;
	 font-size: 0.8125rem;
	 font-weight: 500;
	 line-height: 1.4;
	 color: var(--kvr-text-muted, #5f6f6f);
 }

 .kvr-step-actions {
	 display: grid;
	 gap: 10px;
	 margin-top: 8px;
 }

 @media (min-width: 480px) {
	 .kvr-step-actions {
		 grid-template-columns: 1fr 1.4fr;
		 align-items: stretch;
	 }
 }
 
 .kvr-photo-actions {
	 display: grid;
	 gap: 8px;
	 margin-bottom: 10px;
 }
 
 .kvr-photo-preview {
	 position: relative;
	 overflow: hidden;
	 border-radius: var(--kvr-radius-md);
	 border: 1px solid var(--kvr-border);
	 aspect-ratio: 4 / 3;
	 background: var(--kvr-background-soft);
	 box-shadow: var(--kvr-shadow-sm);
 }
 
 .kvr-photo-preview img {
	 width: 100%;
	 height: 100%;
	 object-fit: cover;
 }
 
 .kvr-app .kvr-photo-preview__remove {
	 position: absolute;
	 right: 10px;
	 bottom: 10px;
	 min-height: 40px;
	 padding: 8px 12px !important;
	 border: 0 !important;
	 border-radius: 999px !important;
	 background: rgba(51, 63, 63, 0.88) !important;
	 color: #ffffff !important;
	 font-size: 0.875rem;
	 font-weight: 700;
	 cursor: pointer;
 }
 
 /* ---------- Stepper ---------- */
 
 .kvr-stepper {
	 margin-bottom: 20px;
	 text-align: center;
 }
 
 .kvr-stepper__dots {
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 gap: 0;
	 margin-bottom: 8px;
 }
 
 .kvr-stepper__dot {
	 width: 10px;
	 height: 10px;
	 border-radius: 50%;
	 background: var(--kvr-border);
	 transition: background var(--kvr-transition), transform var(--kvr-transition);
 }
 
 .kvr-stepper__dot.is-active {
	 background: var(--kvr-primary);
	 transform: scale(1.15);
	 box-shadow: 0 0 0 4px rgba(0, 186, 179, 0.18);
 }
 
 .kvr-stepper__dot.is-done {
	 background: var(--kvr-primary);
 }
 
 .kvr-stepper__line {
	 width: 40px;
	 height: 2px;
	 background: var(--kvr-border);
 }
 
 .kvr-stepper__label {
	 margin: 0 !important;
	 font-size: 0.9375rem;
	 font-weight: 600;
	 color: var(--kvr-text-muted) !important;
 }
 
 .kvr-step[hidden] {
	 display: none !important;
 }

 #kvr-app.kvr-app [data-kvr-form="lost"].is-step-out .kvr-step.is-active {
	 opacity: 0;
	 transition: opacity 160ms ease;
 }

 #kvr-app.kvr-app .kvr-step.kvr-step--in {
	 animation: kvr-step-in 280ms ease;
 }

 @keyframes kvr-step-in {
	 from {
		 opacity: 0;
	 }
	 to {
		 opacity: 1;
	 }
 }

 @media (prefers-reduced-motion: reduce) {
	 #kvr-app.kvr-app [data-kvr-form="lost"].is-step-out .kvr-step.is-active,
	 #kvr-app.kvr-app .kvr-step.kvr-step--in {
		 opacity: 1;
		 animation: none;
		 transition: none;
	 }
 }
 
 /* Elementor-proof: .kvr-btn { display:inline-flex } beats native [hidden]. */
 #kvr-app.kvr-app [hidden],
 #kvr-app.kvr-app .kvr-btn[hidden],
 #kvr-app.kvr-app a.kvr-btn[hidden],
 #kvr-app.kvr-app button.kvr-btn[hidden] {
	 display: none !important;
 }
 
 /* ---------- Buttons (Elementor-proof) ---------- */
 
 .kvr-app .kvr-btn,
 .kvr-app button.kvr-btn,
 .kvr-app label.kvr-btn,
 .kvr-app a.kvr-btn {
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 gap: 8px;
	 min-height: 48px;
	 padding: 12px 18px !important;
	 border: 1px solid transparent !important;
	 border-radius: 999px !important;
	 background: var(--kvr-background-soft) !important;
	 color: var(--kvr-text) !important;
	 font-size: 0.9375rem !important;
	 font-weight: 800 !important;
	 letter-spacing: 0.04em;
	 line-height: 1.2 !important;
	 text-decoration: none !important;
	 text-transform: none !important;
	 cursor: pointer;
	 box-shadow: var(--kvr-shadow-xs) !important;
	 transition: background var(--kvr-transition), transform 100ms ease, box-shadow var(--kvr-transition), border-color var(--kvr-transition), color var(--kvr-transition);
 }
 
 .kvr-app .kvr-btn:hover,
 .kvr-app button.kvr-btn:hover,
 .kvr-app label.kvr-btn:hover {
	 filter: brightness(0.98);
 }
 
 .kvr-app .kvr-btn:active {
	 transform: scale(0.98);
 }
 
 .kvr-app .kvr-btn:disabled {
	 opacity: 0.6;
	 cursor: not-allowed;
	 transform: none;
 }
 
 .kvr-btn--block {
	 width: 100%;
 }
 
 .kvr-app .kvr-btn--sm {
	 min-height: 42px;
	 padding: 10px 14px !important;
	 font-size: 0.875rem !important;
 }
 
 .kvr-app .kvr-btn--primary,
 .kvr-app button.kvr-btn--primary,
 .kvr-app label.kvr-btn--primary,
 .kvr-app a.kvr-btn--primary {
	 background: var(--kvr-primary) !important;
	 border-color: var(--kvr-primary) !important;
	 color: #ffffff !important;
	 box-shadow: 0 6px 16px rgba(0, 186, 179, 0.28) !important;
 }
 
 .kvr-app .kvr-btn--primary:hover,
 .kvr-app button.kvr-btn--primary:hover,
 .kvr-app label.kvr-btn--primary:hover {
	 background: var(--kvr-primary-hover) !important;
	 border-color: var(--kvr-primary-hover) !important;
	 color: #ffffff !important;
 }
 
 .kvr-app .kvr-btn--secondary,
 .kvr-app button.kvr-btn--secondary,
 .kvr-app label.kvr-btn--secondary,
 .kvr-app a.kvr-btn--secondary {
	 background: var(--kvr-secondary) !important;
	 border-color: var(--kvr-secondary) !important;
	 color: #ffffff !important;
	 box-shadow: 0 6px 16px rgba(0, 126, 139, 0.28) !important;
 }
 
 .kvr-app .kvr-btn--secondary:hover,
 .kvr-app button.kvr-btn--secondary:hover,
 .kvr-app label.kvr-btn--secondary:hover {
	 background: #006d78 !important;
	 border-color: #006d78 !important;
	 color: #ffffff !important;
 }
 
 .kvr-app .kvr-btn--accent,
 .kvr-app button.kvr-btn--accent,
 .kvr-app label.kvr-btn--accent,
 .kvr-app a.kvr-btn--accent {
	 background: var(--kvr-accent) !important;
	 border-color: var(--kvr-accent) !important;
	 color: #ffffff !important;
	 box-shadow: 0 6px 16px rgba(255, 143, 0, 0.3) !important;
 }
 
 .kvr-app .kvr-btn--accent:hover,
 .kvr-app button.kvr-btn--accent:hover {
	 background: var(--kvr-accent-hover) !important;
	 border-color: var(--kvr-accent-hover) !important;
	 color: #ffffff !important;
 }
 
 .kvr-app .kvr-btn--ghost,
 .kvr-app button.kvr-btn--ghost,
 .kvr-app label.kvr-btn--ghost,
 .kvr-app a.kvr-btn--ghost {
	 background: #ffffff !important;
	 border-color: var(--kvr-border) !important;
	 color: var(--kvr-secondary) !important;
	 box-shadow: none !important;
 }
 
 .kvr-app .kvr-btn--ghost:hover,
 .kvr-app button.kvr-btn--ghost:hover,
 .kvr-app label.kvr-btn--ghost:hover {
	 background: var(--kvr-background-soft) !important;
	 border-color: var(--kvr-border-strong) !important;
	 color: var(--kvr-secondary) !important;
 }
 
 .kvr-app .kvr-btn--on-dark,
 .kvr-app button.kvr-btn--on-dark {
	 width: 100%;
	 background: #ffffff !important;
	 border-color: #ffffff !important;
	 color: var(--kvr-text) !important;
	 box-shadow: none !important;
 }
 
 .kvr-app .kvr-btn--outline-light,
 .kvr-app button.kvr-btn--outline-light {
	 width: 100%;
	 background: transparent !important;
	 border-color: rgba(255, 255, 255, 0.55) !important;
	 color: #ffffff !important;
	 box-shadow: none !important;
 }
 
 .kvr-app .kvr-btn--danger-outline,
 .kvr-app button.kvr-btn--danger-outline {
	 background: #ffffff !important;
	 border-color: #f0c2c2 !important;
	 color: var(--kvr-danger) !important;
 }
 
 /* ---------- Detail ---------- */
 
 .kvr-detail__media {
	 position: relative;
	 overflow: hidden;
	 border-radius: var(--kvr-radius-lg);
	 aspect-ratio: 4 / 3;
	 min-height: 0;
	 background: #e8f2f2;
	 margin-bottom: 18px;
	 box-shadow: var(--kvr-shadow-md);
	 border: 1px solid var(--kvr-border);
	 line-height: 0;
 }
 
 .kvr-detail__media-link {
	 display: block;
	 width: 100%;
	 height: 100%;
	 margin: 0;
	 padding: 0;
	 border: 0;
	 background: transparent;
	 line-height: 0;
	 text-decoration: none !important;
	 cursor: zoom-in;
	 font: inherit;
	 color: inherit;
	 text-align: left;
 }
 
 .kvr-detail__media img {
	 display: block !important;
	 width: 100% !important;
	 height: 100% !important;
	 max-width: none !important;
	 max-height: none !important;
	 object-fit: cover !important;
	 object-position: center !important;
	 margin: 0 !important;
	 padding: 0 !important;
	 border: 0 !important;
	 border-radius: 0 !important;
	 background: transparent !important;
 }
 
 .kvr-detail__title {
	 margin: 0 0 10px !important;
	 font-size: 1.65rem;
	 font-weight: 800;
	 letter-spacing: -0.025em;
	 color: var(--kvr-text) !important;
 }
 
 .kvr-detail__location,
 .kvr-detail__meta,
 .kvr-detail__desc,
 .kvr-detail__status {
	 margin: 0 0 10px !important;
	 color: var(--kvr-text-muted) !important;
 }
 
 .kvr-detail__home {
	 display: grid;
	 gap: 4px;
	 margin: 14px 0 4px !important;
	 padding: 14px 16px;
	 border-radius: 16px;
	 background: #e7f7f4;
	 color: #006d68 !important;
 }
 
 .kvr-detail__home strong {
	 display: block;
	 font-size: 1.05rem;
	 font-weight: 800;
	 color: #006d68 !important;
 }
 
 .kvr-detail__home span {
	 display: block;
	 font-size: 0.92rem;
	 font-weight: 600;
	 color: #3d6f6c !important;
 }
 
 .kvr-detail__actions {
	 display: grid;
	 gap: 10px;
	 margin-top: 20px;
 }
 
 /* ---------- Success ---------- */
 
 .kvr-view--success {
	 text-align: center;
	 padding-top: 20px;
	 padding-bottom: 32px;
 }
 
 .kvr-success {
	 max-width: 420px;
	 margin: 0 auto;
 }
 
 #kvr-app.kvr-app .kvr-success__eyebrow {
	 margin: 0 0 8px !important;
	 font-size: 0.8125rem !important;
	 font-weight: 700 !important;
	 letter-spacing: 0.08em !important;
	 text-transform: uppercase !important;
	 color: var(--kvr-primary) !important;
 }
 
 #kvr-app.kvr-app .kvr-success__title {
	 margin: 0 0 10px !important;
	 padding: 0 !important;
	 font-size: clamp(1.55rem, 4vw, 1.85rem) !important;
	 font-weight: 800 !important;
	 letter-spacing: -0.03em !important;
	 line-height: 1.2 !important;
	 color: var(--kvr-text) !important;
	 text-transform: none !important;
 }
 
 #kvr-app.kvr-app .kvr-success__lede {
	 margin: 0 auto 22px !important;
	 max-width: 34ch;
	 color: var(--kvr-text-muted) !important;
	 font-size: 1rem !important;
	 font-weight: 500 !important;
	 line-height: 1.45 !important;
 }
 
 .kvr-success__preview {
	 margin: 0 auto 22px;
	 max-width: 360px;
	 overflow: hidden;
	 border-radius: 22px;
	 border: 1px solid var(--kvr-border);
	 background: #ffffff;
	 text-align: left;
	 box-shadow: var(--kvr-shadow-md);
 }
 
 .kvr-success__media {
	 position: relative;
	 min-height: 180px;
	 max-height: 280px;
	 overflow: hidden;
	 background: linear-gradient(145deg, #EAF9F8, #dfeeee);
	 display: flex;
	 align-items: center;
	 justify-content: center;
 }
 
 #kvr-app.kvr-app .kvr-success__preview img,
 #kvr-app.kvr-app .kvr-success__media img {
	 width: 100% !important;
	 height: auto !important;
	 max-height: 280px !important;
	 max-width: 100% !important;
	 object-fit: contain !important;
	 object-position: center !important;
	 display: block !important;
 }
 
 .kvr-success__status {
	 position: absolute;
	 left: 12px;
	 bottom: 12px;
	 padding: 6px 10px;
	 border-radius: 999px;
	 background: #c63737;
	 color: #fff;
	 font-size: 0.8125rem;
	 font-weight: 800;
	 letter-spacing: 0.05em;
 }
 
 .kvr-success__copy {
	 padding: 14px 16px 16px;
 }
 
 #kvr-app.kvr-app .kvr-success__name {
	 margin: 0 0 4px !important;
	 padding: 0 !important;
	 font-size: 1.25rem !important;
	 font-weight: 800 !important;
	 line-height: 1.25 !important;
	 color: var(--kvr-secondary) !important;
	 text-transform: none !important;
 }
 
 #kvr-app.kvr-app .kvr-success__loc {
	 margin: 0 !important;
	 padding: 0 !important;
	 font-size: 0.95rem !important;
	 font-weight: 500 !important;
	 line-height: 1.4 !important;
	 color: var(--kvr-text-muted) !important;
 }
 
 .kvr-success__actions {
	 display: grid;
	 gap: 10px;
	 margin-top: 4px;
	 text-align: left;
 }

 .kvr-success__share {
	 margin-top: 18px;
	 padding-top: 4px;
 }

 .kvr-success__share .kvr-share-sheet__cta-wrap {
	 margin-top: 0;
 }

 .kvr-detail__approx {
	 display: block;
	 margin-top: 4px;
	 font-size: 0.9em;
	 font-weight: 500;
	 color: var(--kvr-text-muted);
 }
 
 .kvr-success__emoji,
 #kvr-app.kvr-app .kvr-success__badge {
	 display: none !important;
 }
 
 /* ---------- Sheets ---------- */
 
 .kvr-sheet-backdrop {
	 position: fixed;
	 inset: 0;
	 z-index: 100040;
	 background: rgba(20, 30, 30, 0.48);
	 backdrop-filter: blur(2px);
 }

 #kvr-overlays {
	 --kvr-primary: #00BAB3;
	 --kvr-primary-hover: #00a39d;
	 --kvr-secondary: #007E8B;
	 --kvr-text: #333F3F;
	 --kvr-text-muted: #5A6B6B;
	 --kvr-accent: #FF8F00;
	 --kvr-accent-hover: #e68000;
	 --kvr-border: #DDE7E7;
	 --kvr-border-strong: #C5D4D4;
	 --kvr-danger: #D64545;
	 --kvr-background: #FFFFFF;
	 --kvr-background-soft: #F5FAFA;
	 --kvr-background-primary-soft: #EAF9F8;
	 --kvr-radius-sm: 12px;
	 --kvr-radius-md: 16px;
	 --kvr-radius-lg: 20px;
	 --kvr-radius-xl: 24px;
	 --kvr-shadow-xs: 0 1px 2px rgba(51, 63, 63, 0.05);
	 --kvr-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px -1px rgba(0, 0, 0, 0.08);
	 --kvr-shadow-lg: 0 16px 40px rgba(51, 63, 63, 0.12), 0 4px 12px rgba(51, 63, 63, 0.06);
	 --kvr-ring: 0 0 0 3px rgba(0, 186, 179, 0.22);
	 --kvr-font: Inter, Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	 --kvr-transition: 160ms cubic-bezier(0.2, 0.8, 0.2, 1);
	 font-family: var(--kvr-font);
	 font-size: 16px;
	 color: var(--kvr-text);
	 -webkit-font-smoothing: antialiased;
 }

 #kvr-overlays,
 #kvr-overlays *,
 #kvr-overlays *::before,
 #kvr-overlays *::after {
	 box-sizing: border-box;
 }

 #kvr-overlays [hidden] {
	 display: none !important;
 }

 #kvr-overlays h2,
 #kvr-overlays p,
 #kvr-overlays label,
 #kvr-overlays legend {
	 font-family: var(--kvr-font) !important;
	 text-shadow: none !important;
 }

 #kvr-overlays button,
 #kvr-overlays input,
 #kvr-overlays select,
 #kvr-overlays textarea,
 #kvr-overlays label {
	 font-family: inherit;
	 line-height: inherit;
	 letter-spacing: inherit;
	 text-transform: none;
 }

 #kvr-overlays .kvr-input,
 #kvr-overlays input.kvr-input,
 #kvr-overlays select.kvr-select,
 #kvr-overlays textarea.kvr-textarea,
 #kvr-single .kvr-sheet--tip .kvr-input,
 #kvr-single .kvr-sheet--tip input.kvr-input,
 #kvr-single .kvr-sheet--tip textarea.kvr-textarea {
	 width: 100%;
	 min-height: 48px;
	 padding: 12px 14px !important;
	 border: 1px solid var(--kvr-border) !important;
	 border-radius: var(--kvr-radius-sm) !important;
	 background: #ffffff !important;
	 color: var(--kvr-text) !important;
	 font-size: 16px !important;
	 font-family: inherit !important;
	 appearance: none;
	 box-shadow: var(--kvr-shadow-xs);
	 transition: border-color var(--kvr-transition), box-shadow var(--kvr-transition);
 }

 #kvr-overlays .kvr-input:focus,
 #kvr-overlays input.kvr-input:focus,
 #kvr-overlays textarea.kvr-textarea:focus,
 #kvr-single .kvr-sheet--tip .kvr-input:focus,
 #kvr-single .kvr-sheet--tip textarea.kvr-textarea:focus {
	 border-color: var(--kvr-primary) !important;
	 box-shadow: var(--kvr-ring) !important;
	 outline: none !important;
 }

 #kvr-overlays .kvr-input::placeholder,
 #kvr-overlays .kvr-textarea::placeholder,
 #kvr-single .kvr-sheet--tip .kvr-input::placeholder,
 #kvr-single .kvr-sheet--tip .kvr-textarea::placeholder {
	 color: #8A9A9A !important;
	 opacity: 1;
 }

 #kvr-overlays .kvr-btn,
 #kvr-overlays button.kvr-btn,
 #kvr-single .kvr-sheet--tip .kvr-btn,
 #kvr-single .kvr-sheet--tip button.kvr-btn {
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 gap: 8px;
	 min-height: 48px;
	 padding: 12px 18px !important;
	 border: 1px solid transparent !important;
	 border-radius: 999px !important;
	 background: var(--kvr-background-soft) !important;
	 color: var(--kvr-text) !important;
	 font-size: 0.9375rem !important;
	 font-weight: 800 !important;
	 letter-spacing: 0.04em;
	 line-height: 1.2 !important;
	 text-decoration: none !important;
	 text-transform: none !important;
	 cursor: pointer;
	 box-shadow: var(--kvr-shadow-xs) !important;
	 transition: background var(--kvr-transition), transform 100ms ease, box-shadow var(--kvr-transition), border-color var(--kvr-transition), color var(--kvr-transition);
 }

 #kvr-overlays .kvr-btn:hover,
 #kvr-overlays button.kvr-btn:hover,
 #kvr-single .kvr-sheet--tip .kvr-btn:hover {
	 filter: brightness(0.98);
 }

 #kvr-overlays .kvr-btn:active,
 #kvr-single .kvr-sheet--tip .kvr-btn:active {
	 transform: scale(0.98);
 }

 #kvr-overlays .kvr-btn:disabled,
 #kvr-single .kvr-sheet--tip .kvr-btn:disabled {
	 opacity: 0.6;
	 cursor: not-allowed;
	 transform: none;
 }

 #kvr-overlays .kvr-btn--primary,
 #kvr-overlays button.kvr-btn--primary,
 #kvr-single .kvr-sheet--tip .kvr-btn--primary {
	 background: var(--kvr-primary) !important;
	 border-color: var(--kvr-primary) !important;
	 color: #ffffff !important;
	 box-shadow: 0 6px 16px rgba(0, 186, 179, 0.28) !important;
 }

 #kvr-overlays .kvr-btn--primary:hover,
 #kvr-overlays button.kvr-btn--primary:hover,
 #kvr-single .kvr-sheet--tip .kvr-btn--primary:hover {
	 background: var(--kvr-primary-hover) !important;
	 border-color: var(--kvr-primary-hover) !important;
	 color: #ffffff !important;
 }

 #kvr-overlays .kvr-btn--ghost,
 #kvr-overlays button.kvr-btn--ghost,
 #kvr-single .kvr-sheet--tip .kvr-btn--ghost {
	 background: #ffffff !important;
	 border-color: var(--kvr-border) !important;
	 color: var(--kvr-secondary) !important;
	 box-shadow: none !important;
 }

 #kvr-overlays .kvr-btn--ghost:hover,
 #kvr-overlays button.kvr-btn--ghost:hover,
 #kvr-single .kvr-sheet--tip .kvr-btn--ghost:hover {
	 background: var(--kvr-background-soft) !important;
	 border-color: var(--kvr-border-strong) !important;
	 color: var(--kvr-secondary) !important;
 }
 
 .kvr-sheet {
	 position: fixed;
	 left: 0;
	 right: 0;
	 bottom: 0;
	 z-index: 100050;
	 max-height: min(92vh, 820px);
	 overflow-x: hidden;
	 overflow-y: auto;
	 padding: 12px 16px calc(20px + env(safe-area-inset-bottom, 0px));
	 border-radius: var(--kvr-radius-xl) var(--kvr-radius-xl) 0 0;
	 background: #ffffff;
	 box-shadow: var(--kvr-shadow-lg);
	 animation: kvr-sheet-up 0.24s ease;
	 border: 1px solid var(--kvr-border);
	 border-bottom: 0;
	 -webkit-overflow-scrolling: touch;
 }
 
 .kvr-sheet--form .kvr-field {
	 margin-bottom: 12px;
 }
 
 .kvr-sheet--form .kvr-sheet__title {
	 margin-bottom: 12px !important;
 }
 
 .kvr-sheet__lede {
	 margin: 0 0 16px !important;
	 color: var(--kvr-text-muted) !important;
	 font-size: 0.98rem !important;
	 font-weight: 500 !important;
	 line-height: 1.45 !important;
	 text-align: center;
 }
 
 #kvr-app.kvr-app a.kvr-btn {
	 text-decoration: none !important;
	 box-sizing: border-box;
 }
 
 @keyframes kvr-sheet-up {
	 from { transform: translateY(28px); opacity: 0.55; }
	 to { transform: translateY(0); opacity: 1; }
 }
 
 @media (prefers-reduced-motion: reduce) {
	 .kvr-sheet { animation: none; }
 }
 
 .kvr-sheet__handle {
	 width: 40px;
	 height: 4px;
	 margin: 0 auto 16px;
	 border-radius: 4px;
	 background: var(--kvr-border-strong);
 }
 
 .kvr-sheet__title {
	 margin: 0 0 18px !important;
	 font-size: 1.2rem;
	 font-weight: 800;
	 text-align: center;
	 letter-spacing: -0.02em;
	 color: var(--kvr-text) !important;
 }
 
 #kvr-app.kvr-app .kvr-sheet--share,
 #kvr-single .kvr-sheet--share, #kvr-overlays .kvr-sheet--share {
	 position: fixed;
	 padding: 20px 20px calc(24px + env(safe-area-inset-bottom, 0px));
	 max-height: min(94vh, 760px);
	 border-radius: 28px 28px 0 0;
	 background: #fafafa;
 }
 
 #kvr-app.kvr-app .kvr-sheet--share .kvr-sheet__close,
 #kvr-app.kvr-app .kvr-sheet--share .kvr-share-sheet__close,
 #kvr-single .kvr-share-sheet__close, #kvr-overlays .kvr-share-sheet__close {
	 position: static;
	 display: grid;
	 place-items: center;
	 width: 32px;
	 height: 32px;
	 padding: 0 !important;
	 border: 0 !important;
	 border-radius: 999px !important;
	 background: rgba(228, 228, 231, 0.7) !important;
	 color: #52525b !important;
	 box-shadow: none !important;
	 cursor: pointer;
	 flex-shrink: 0;
	 transition: background 0.18s ease, transform 0.18s ease;
 }
 
 #kvr-app.kvr-app .kvr-sheet--share .kvr-share-sheet__close:hover,
 #kvr-single .kvr-share-sheet__close:hover, #kvr-overlays .kvr-share-sheet__close:hover {
	 background: #e4e4e7 !important;
	 transform: rotate(90deg);
 }
 
 .kvr-share-sheet__head {
	 margin-bottom: 4px;
 }
 
 .kvr-share-sheet__head-top {
	 display: flex;
	 align-items: center;
	 justify-content: space-between;
	 gap: 12px;
	 margin-bottom: 18px;
 }
 
 .kvr-share-sheet__eyebrow {
	 margin: 0 !important;
	 font-size: 0.6875rem !important;
	 font-weight: 700 !important;
	 letter-spacing: 0.1em !important;
	 text-transform: uppercase !important;
	 color: var(--kvr-primary, #00bab3) !important;
 }
 
 #kvr-app.kvr-app .kvr-sheet--share .kvr-share-sheet__title,
 #kvr-single .kvr-share-sheet__title, #kvr-overlays .kvr-share-sheet__title,
 .kvr-share-sheet__title {
	 margin: 0 0 18px !important;
	 padding: 0 !important;
	 text-align: left !important;
	 font-size: 1.4rem !important;
	 font-weight: 700 !important;
	 line-height: 1.2 !important;
	 letter-spacing: -0.02em !important;
	 color: var(--kvr-text, #18181b) !important;
	 text-wrap: balance;
 }
 
 #kvr-app.kvr-app .kvr-share-card,
 #kvr-single .kvr-share-card, #kvr-overlays .kvr-share-card {
	 margin: 0;
	 padding: 14px;
	 border: 0;
	 border-radius: 20px;
	 background: var(--kvr-background-primary-soft, #eaf9f8);
	 box-shadow: 0 0 0 1px rgba(0, 186, 179, 0.12);
 }
 
 #kvr-app.kvr-app .kvr-share-card__row,
 #kvr-single .kvr-share-card__row, #kvr-overlays .kvr-share-card__row {
	 display: flex;
	 align-items: center;
	 gap: 14px;
 }
 
 #kvr-app.kvr-app .kvr-share-card__thumb,
 #kvr-single .kvr-share-card__thumb, #kvr-overlays .kvr-share-card__thumb {
	 width: 80px;
	 height: 80px;
	 border-radius: 12px;
	 object-fit: cover;
	 flex-shrink: 0;
	 background: #e4e4e7;
	 box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06);
 }
 
 #kvr-app.kvr-app .kvr-share-card__thumb--empty,
 #kvr-single .kvr-share-card__thumb--empty, #kvr-overlays .kvr-share-card__thumb--empty {
	 display: inline-block;
 }
 
 #kvr-app.kvr-app .kvr-share-card__meta,
 #kvr-single .kvr-share-card__meta, #kvr-overlays .kvr-share-card__meta {
	 display: flex;
	 flex-direction: column;
	 gap: 2px;
	 min-width: 0;
 }
 
 #kvr-app.kvr-app .kvr-share-card__badge,
 #kvr-single .kvr-share-card__badge, #kvr-overlays .kvr-share-card__badge {
	 position: static !important;
	 top: auto !important;
	 left: auto !important;
	 align-self: flex-start;
	 display: inline-flex;
	 align-items: center;
	 gap: 6px;
	 min-height: 0;
	 margin-bottom: 4px;
	 padding: 3px 9px;
	 border-radius: 999px;
	 font-size: 0.625rem;
	 font-weight: 800;
	 letter-spacing: 0.08em;
	 text-transform: uppercase;
	 color: #fff !important;
	 box-shadow: none !important;
 }

 /* Avoid double dots: global .kvr-badge--*::before + .kvr-share-card__dot */
 #kvr-app.kvr-app .kvr-share-card__badge::before,
 #kvr-single .kvr-share-card__badge::before, #kvr-overlays .kvr-share-card__badge::before {
	 content: none !important;
	 display: none !important;
	 width: 0 !important;
	 height: 0 !important;
	 margin: 0 !important;
	 padding: 0 !important;
 }
 
 .kvr-share-card__dot {
	 width: 6px;
	 height: 6px;
	 border-radius: 999px;
	 background: #fff;
	 animation: kvr-share-dot-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
 }
 
 @keyframes kvr-share-dot-pulse {
	 0%, 100% { opacity: 1; }
	 50% { opacity: 0.3; }
 }
 
 @media (prefers-reduced-motion: reduce) {
	 .kvr-share-card__dot { animation: none; }
 }
 
 #kvr-app.kvr-app .kvr-share-card__badge.kvr-badge--lost,
 #kvr-single .kvr-share-card__badge.kvr-badge--lost, #kvr-overlays .kvr-share-card__badge.kvr-badge--lost {
	 background: var(--kvr-lost, #c63737);
 }
 
 #kvr-app.kvr-app .kvr-share-card__badge.kvr-badge--found,
 #kvr-app.kvr-app .kvr-share-card__badge.kvr-badge--reunited,
 #kvr-single .kvr-share-card__badge.kvr-badge--found, #kvr-overlays .kvr-share-card__badge.kvr-badge--found,
 #kvr-single .kvr-share-card__badge.kvr-badge--reunited, #kvr-overlays .kvr-share-card__badge.kvr-badge--reunited {
	 background: var(--kvr-found, #007e8b);
 }
 
 #kvr-app.kvr-app .kvr-share-card__name,
 #kvr-single .kvr-share-card__name, #kvr-overlays .kvr-share-card__name {
	 font-size: 1.05rem !important;
	 font-weight: 700 !important;
	 color: var(--kvr-text) !important;
	 line-height: 1.2 !important;
	 white-space: nowrap;
	 overflow: hidden;
	 text-overflow: ellipsis;
 }
 
 #kvr-app.kvr-app .kvr-share-card__code,
 #kvr-single .kvr-share-card__code, #kvr-overlays .kvr-share-card__code {
	 font-size: 0.8125rem !important;
	 font-weight: 700 !important;
	 color: var(--kvr-primary, #00bab3) !important;
	 font-variant-numeric: tabular-nums;
 }
 
 #kvr-app.kvr-app .kvr-share-card__place,
 #kvr-single .kvr-share-card__place, #kvr-overlays .kvr-share-card__place {
	 font-size: 0.75rem !important;
	 color: var(--kvr-text-muted) !important;
	 line-height: 1.35 !important;
 }
 
 .kvr-share-sheet__cta-wrap {
	 padding: 16px 0 0;
 }
 
 .kvr-share-sheet__cta {
	 width: 100%;
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 gap: 10px;
	 padding: 15px 16px !important;
	 border: 0 !important;
	 border-radius: 18px !important;
	 background: var(--kvr-accent, #ff8f00) !important;
	 color: #fff !important;
	 font: inherit;
	 font-size: 0.9375rem !important;
	 font-weight: 700 !important;
	 cursor: pointer;
	 box-shadow: 0 10px 24px -8px rgba(255, 143, 0, 0.55);
	 transition: transform 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
 }
 
 .kvr-share-sheet__cta:hover {
	 background: var(--kvr-accent-hover, #e68000) !important;
	 transform: translateY(-2px);
	 box-shadow: 0 16px 28px -10px rgba(255, 143, 0, 0.6);
 }
 
 .kvr-share-sheet__cta:active {
	 transform: translateY(0);
 }
 
 .kvr-share-sheet__cta .kvr-icon {
	 flex-shrink: 0;
 }
 
 .kvr-share-sheet__hint {
	 margin: 12px 0 0 !important;
	 text-align: center;
	 font-size: 0.6875rem !important;
	 font-weight: 600 !important;
	 font-style: italic;
	 text-transform: uppercase;
	 letter-spacing: 0.02em;
	 color: #a1a1aa !important;
 }
 
 .kvr-share-sheet__channels {
	 display: grid;
	 grid-template-columns: repeat(5, minmax(0, 1fr));
	 gap: 8px;
	 padding: 20px 0 8px;
 }

 /* Reset Elementor/theme button & link chrome so all 5 tiles match */
 #kvr-app.kvr-app a.kvr-share-channel,
 #kvr-app.kvr-app button.kvr-share-channel,
 #kvr-single a.kvr-share-channel, #kvr-overlays a.kvr-share-channel,
 #kvr-single button.kvr-share-channel, #kvr-overlays button.kvr-share-channel,
 .kvr-share-channel {
	 display: flex !important;
	 flex-direction: column !important;
	 align-items: center !important;
	 justify-content: flex-start !important;
	 gap: 8px !important;
	 width: auto !important;
	 min-width: 0 !important;
	 min-height: 0 !important;
	 height: auto !important;
	 margin: 0 !important;
	 padding: 0 !important;
	 border: 0 !important;
	 border-radius: 0 !important;
	 background: transparent !important;
	 background-color: transparent !important;
	 background-image: none !important;
	 box-shadow: none !important;
	 color: inherit !important;
	 font: inherit !important;
	 font-size: inherit !important;
	 font-weight: inherit !important;
	 letter-spacing: normal !important;
	 line-height: 1.15 !important;
	 text-align: center !important;
	 text-decoration: none !important;
	 text-transform: none !important;
	 appearance: none !important;
	 -webkit-appearance: none !important;
	 cursor: pointer !important;
 }

 #kvr-app.kvr-app a.kvr-share-channel:hover,
 #kvr-app.kvr-app button.kvr-share-channel:hover,
 #kvr-single a.kvr-share-channel:hover, #kvr-overlays a.kvr-share-channel:hover,
 #kvr-single button.kvr-share-channel:hover, #kvr-overlays button.kvr-share-channel:hover,
 .kvr-share-channel:hover {
	 background: transparent !important;
	 background-color: transparent !important;
	 color: inherit !important;
	 filter: none !important;
	 transform: none !important;
 }

 .kvr-share-tile {
	 width: 48px;
	 height: 48px;
	 display: grid;
	 place-items: center;
	 border-radius: 16px;
	 color: #fff;
	 flex-shrink: 0;
	 transition: transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.2s ease;
 }

 .kvr-share-channel:hover .kvr-share-tile {
	 transform: translateY(-4px);
	 box-shadow: 0 10px 18px -8px rgba(51, 63, 63, 0.35);
 }

 .kvr-share-tile--wa,
 .kvr-share-tile--fb,
 .kvr-share-tile--x,
 .kvr-share-tile--ig,
 .kvr-share-tile--copy {
	 background: #e8eeee !important;
	 color: #5a6b6b !important;
 }

 .kvr-share-tile .kvr-icon {
	 display: block;
	 width: 22px;
	 height: 22px;
 }

 .kvr-share-channel__label {
	 display: block;
	 width: 100%;
	 font-size: 0.6875rem !important;
	 font-weight: 600 !important;
	 color: var(--kvr-text-muted, #5a6b6b) !important;
	 text-align: center;
	 line-height: 1.15 !important;
	 white-space: nowrap;
 }
 
 #kvr-app.kvr-app .kvr-share-sheet__more,
 #kvr-single .kvr-share-sheet__more, #kvr-overlays .kvr-share-sheet__more,
 .kvr-share-sheet__more {
	 display: inline-flex !important;
	 align-items: center !important;
	 justify-content: center !important;
	 gap: 8px !important;
	 width: 100% !important;
	 min-height: 44px !important;
	 margin: 4px 0 0 !important;
	 padding: 12px 14px !important;
	 border: 1px solid var(--kvr-border, #dde7e7) !important;
	 border-radius: 14px !important;
	 background: #fff !important;
	 background-color: #fff !important;
	 background-image: none !important;
	 box-shadow: none !important;
	 color: var(--kvr-text, #333f3f) !important;
	 font: inherit !important;
	 font-size: 0.875rem !important;
	 font-weight: 700 !important;
	 letter-spacing: normal !important;
	 text-transform: none !important;
	 appearance: none !important;
	 -webkit-appearance: none !important;
	 cursor: pointer !important;
 }

 #kvr-app.kvr-app .kvr-share-sheet__more:hover,
 #kvr-single .kvr-share-sheet__more:hover, #kvr-overlays .kvr-share-sheet__more:hover,
 .kvr-share-sheet__more:hover {
	 background: var(--kvr-background-soft, #f5fafa) !important;
	 background-color: var(--kvr-background-soft, #f5fafa) !important;
	 color: var(--kvr-text, #333f3f) !important;
	 filter: none !important;
	 transform: none !important;
 }

 #kvr-app.kvr-app .kvr-share-sheet__cta,
 #kvr-single .kvr-share-sheet__cta, #kvr-overlays .kvr-share-sheet__cta,
 .kvr-share-sheet__cta {
	 width: 100% !important;
	 display: inline-flex !important;
	 align-items: center !important;
	 justify-content: center !important;
	 gap: 10px !important;
	 min-height: 52px !important;
	 padding: 15px 16px !important;
	 border: 0 !important;
	 border-radius: 18px !important;
	 background: var(--kvr-accent, #ff8f00) !important;
	 background-color: var(--kvr-accent, #ff8f00) !important;
	 background-image: none !important;
	 color: #fff !important;
	 font: inherit !important;
	 font-size: 0.9375rem !important;
	 font-weight: 700 !important;
	 letter-spacing: normal !important;
	 text-transform: none !important;
	 appearance: none !important;
	 -webkit-appearance: none !important;
	 cursor: pointer !important;
	 box-shadow: 0 10px 24px -8px rgba(255, 143, 0, 0.55) !important;
 }
 
 .kvr-share-sheet__foot {
	 display: flex;
	 gap: 12px;
	 align-items: flex-start;
	 margin-top: 16px;
	 padding-top: 16px;
	 border-top: 1px solid #f1f1f3;
 }
 
 .kvr-share-sheet__foot-dot {
	 width: 8px;
	 height: 8px;
	 margin-top: 5px;
	 border-radius: 999px;
	 background: var(--kvr-primary, #00bab3);
	 flex-shrink: 0;
 }
 
 .kvr-share-sheet__foot p {
	 margin: 0 !important;
	 font-size: 0.75rem !important;
	 line-height: 1.5 !important;
	 color: var(--kvr-text-muted, #5a6b6b) !important;
	 max-width: 100%;
	 text-wrap: pretty;
 }
 
 .kvr-share-grid {
	 display: grid;
	 gap: 8px;
 }
 
 @media (max-width: 380px) {
	 #kvr-app.kvr-app .kvr-sheet--share .kvr-share-sheet__title,
	 #kvr-single .kvr-share-sheet__title, #kvr-overlays .kvr-share-sheet__title {
		 font-size: 1.2rem !important;
	 }
 
	 .kvr-share-sheet__channels {
		 gap: 6px;
	 }
 
	 .kvr-share-tile {
		 width: 44px;
		 height: 44px;
	 }
 }
 
 .kvr-app .kvr-sheet-option,
 .kvr-app button.kvr-sheet-option {
	 display: flex;
	 align-items: center;
	 gap: 12px;
	 width: 100%;
	 min-height: 56px;
	 margin-bottom: 10px;
	 padding: 14px 16px !important;
	 border: 1.5px solid var(--kvr-border) !important;
	 border-radius: var(--kvr-radius-md) !important;
	 background: #ffffff !important;
	 color: var(--kvr-text) !important;
	 font-weight: 800 !important;
	 font-size: 0.9375rem !important;
	 text-align: left;
	 cursor: pointer;
	 box-shadow: var(--kvr-shadow-xs) !important;
	 transition: transform var(--kvr-transition), box-shadow var(--kvr-transition);
 }
 
 .kvr-app .kvr-sheet-option:hover {
	 transform: translateY(-1px);
	 box-shadow: var(--kvr-shadow-sm) !important;
 }
 
 .kvr-app .kvr-sheet-option--lost {
	 border-color: rgba(255, 143, 0, 0.35) !important;
	 background: var(--kvr-background-accent-soft) !important;
 }
 
 .kvr-app .kvr-sheet-option--found {
	 border-color: rgba(0, 186, 179, 0.35) !important;
	 background: var(--kvr-background-primary-soft) !important;
 }
 
 /* ---------- Bottom nav ---------- */
 
 .kvr-bottom-nav {
	 display: none;
	 position: fixed !important;
	 left: 0 !important;
	 right: 0 !important;
	 bottom: 0 !important;
	 z-index: 999999 !important;
	 height: calc(var(--kvr-bottom-nav-h) + env(safe-area-inset-bottom, 0px));
	 padding: 0 4px env(safe-area-inset-bottom, 0px);
	 border-top: 1px solid rgba(221, 231, 231, 0.9);
	 background: rgba(255, 255, 255, 0.94);
	 backdrop-filter: blur(14px) saturate(1.2);
	 grid-template-columns: repeat(5, 1fr);
	 align-items: center;
	 box-shadow: 0 -8px 24px rgba(51, 63, 63, 0.06);
 }
 
 .kvr-app.is-mobile .kvr-bottom-nav {
	 display: grid;
 }
 
 .kvr-app:not(.is-mobile) {
	 padding-bottom: 28px;
 }
 
 .kvr-app .kvr-bottom-nav__item,
 .kvr-app button.kvr-bottom-nav__item {
	 display: flex;
	 flex-direction: column;
	 align-items: center;
	 justify-content: center;
	 gap: 3px;
	 min-height: 56px;
	 padding: 6px 4px !important;
	 border: 0 !important;
	 background: transparent !important;
	 color: var(--kvr-text-muted) !important;
	 cursor: pointer;
	 box-shadow: none !important;
	 transition: color var(--kvr-transition);
 }
 
 #kvr-app.kvr-app .kvr-bottom-nav__item.is-active {
	 color: var(--kvr-secondary) !important;
 }

 #kvr-app.kvr-app .kvr-bottom-nav__item--center.is-active {
	 color: var(--kvr-accent) !important;
 }
 
 .kvr-bottom-nav__icon {
	 font-size: 1.15rem;
	 line-height: 1;
 }
 
 .kvr-bottom-nav__label {
	 font-size: 0.75rem;
	 font-weight: 700;
 }
 
 #kvr-app.kvr-app .kvr-bottom-nav__item--center {
	 position: relative;
	 top: -12px;
 }
 
 #kvr-app.kvr-app .kvr-bottom-nav__fab {
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 width: 54px;
	 height: 54px;
	 border-radius: 50%;
	 background: linear-gradient(145deg, #19c9c2 0%, var(--kvr-primary) 55%, #00a8a2 100%) !important;
	 color: #ffffff !important;
	 line-height: 1;
	 box-shadow: 0 10px 22px rgba(0, 186, 179, 0.4) !important;
	 border: 3px solid #ffffff !important;
	 transition: background var(--kvr-transition), box-shadow var(--kvr-transition), transform 100ms ease;
 }

 /* Orange FAB while the Reportar sheet is open (pressed/active). */
 #kvr-app.kvr-app .kvr-bottom-nav__item--center.is-active .kvr-bottom-nav__fab,
 #kvr-app.kvr-app .kvr-bottom-nav__item--center[aria-expanded="true"] .kvr-bottom-nav__fab {
	 background: linear-gradient(145deg, #ffb347 0%, #FF8F00 55%, #e68000 100%) !important;
	 box-shadow: 0 10px 22px rgba(255, 143, 0, 0.42) !important;
 }
 
 #kvr-app.kvr-app .kvr-bottom-nav__fab .kvr-icon {
	 color: #ffffff !important;
 }

 /* Clear the elevated Report FAB so sheet options stay tappable. */
 .kvr-app.is-mobile #kvr-sheet-report {
	 padding-bottom: calc(var(--kvr-bottom-nav-h) + 36px + env(safe-area-inset-bottom, 0px));
 }
 
 /* ---------- Toast ---------- */
 
 .kvr-toast {
	 position: fixed;
	 left: 50%;
	 bottom: calc(var(--kvr-bottom-nav-h) + 16px);
	 z-index: 100060;
	 transform: translateX(-50%);
	 max-width: calc(100% - 32px);
	 padding: 12px 16px;
	 border-radius: var(--kvr-radius-sm);
	 background: var(--kvr-text);
	 color: #ffffff !important;
	 font-size: 0.9rem;
	 font-weight: 600;
	 box-shadow: var(--kvr-shadow-lg);
 }
 
 .kvr-app:not(.is-mobile) .kvr-toast {
	 bottom: 24px;
 }
 
 /* ---------- Loading spinner ---------- */
 
 .kvr-btn.is-loading {
	 position: relative;
	 color: transparent !important;
	 pointer-events: none;
 }
 
 .kvr-btn.is-loading::after {
	 content: "";
	 position: absolute;
	 width: 18px;
	 height: 18px;
	 border: 2px solid rgba(255, 255, 255, 0.35);
	 border-top-color: #fff;
	 border-radius: 50%;
	 animation: kvr-spin 0.7s linear infinite;
 }

 .kvr-btn.is-sending,
 #kvr-overlays .kvr-btn.is-sending,
 #kvr-single .kvr-sheet--tip .kvr-btn.is-sending {
	 pointer-events: none;
	 gap: 10px;
 }

 .kvr-btn.is-sending::before,
 #kvr-overlays .kvr-btn.is-sending::before,
 #kvr-single .kvr-sheet--tip .kvr-btn.is-sending::before {
	 content: "";
	 width: 16px;
	 height: 16px;
	 border: 2.5px solid currentColor;
	 border-right-color: transparent;
	 border-radius: 50%;
	 animation: kvr-spin 0.7s linear infinite;
	 flex-shrink: 0;
 }

 @keyframes kvr-spin {
	 to { transform: rotate(360deg); }
 }
 
 /* =========================================================
	MOBILE
	========================================================= */
 @media (max-width: 640px) {
	 .kvr-app {
		 --kvr-space: 16px;
	 }
 
	 .kvr-pet-grid {
		 grid-template-columns: 1fr;
	 }
 
	 .kvr-search-block {
		 padding: 0;
	 }
 }
 
 /* =========================================================
	TABLET+
	========================================================= */
 @media (min-width: 640px) {
	 .kvr-app {
		 --kvr-space: 24px;
	 }
 
	 .kvr-container {
		 padding-top: 28px;
	 }
 
	 .kvr-hero {
		 grid-template-columns: 1.05fr 0.95fr;
		 gap: 28px;
		 align-items: start;
		 padding-top: 12px;
		 margin-bottom: 24px;
	 }

	 /* Keep hero CTAs stacked on tablet: side-by-side gets clipped by the media column. */
	 .kvr-actions {
		 grid-template-columns: 1fr;
		 gap: 12px;
	 }
 
	 .kvr-pet-grid {
		 grid-template-columns: repeat(2, 1fr);
		 gap: 18px;
	 }

	 .kvr-pet-grid--reunited {
		 grid-template-columns: 1fr 1fr;
		 gap: 12px;
	 }
 
	 .kvr-cta-banner {
		 padding: 44px 40px;
	 }
 
	 .kvr-cta-banner__actions {
		 flex-direction: column;
		 max-width: 340px;
		 align-items: stretch;
	 }
 
	 .kvr-cta-banner__actions .kvr-btn {
		 width: 100%;
	 }
 
	 .kvr-empty__actions {
		 flex-direction: row;
		 justify-content: center;
	 }
 
	 .kvr-choice-grid {
		 grid-template-columns: 1fr 1fr;
	 }
 
	 .kvr-sheet:not(.kvr-sheet--tip) {
		 left: 50%;
		 right: auto;
		 bottom: auto;
		 top: 50%;
		 width: min(480px, calc(100% - 48px));
		 transform: translate(-50%, -50%);
		 border-radius: var(--kvr-radius-xl);
		 max-height: min(90vh, 760px);
		 border-bottom: 1px solid var(--kvr-border);
		 animation: kvr-sheet-fade 0.2s ease;
		 overflow-y: auto;
	 }
 
	 .kvr-sheet--form {
		 /* Prefer content height; only scroll if taller than viewport. */
		 max-height: min(92vh, 820px);
	 }
 
	 @keyframes kvr-sheet-fade {
		 from { opacity: 0.4; transform: translate(-50%, calc(-50% + 12px)); }
		 to { opacity: 1; transform: translate(-50%, -50%); }
	 }
 
	 @media (prefers-reduced-motion: reduce) {
		 .kvr-sheet { animation: none; }
	 }
 }
 
 /* =========================================================
	DESKTOP
	========================================================= */
 @media (min-width: 1024px) {
	 .kvr-app {
		 --kvr-space: 32px;
		 border-radius: 0;
	 }
 
	 .kvr-container {
		 padding-top: 36px;
	 }
 
	 .kvr-pet-grid {
		 grid-template-columns: repeat(3, 1fr);
		 gap: 20px;
	 }

	 .kvr-pet-grid--reunited {
		 grid-template-columns: repeat(3, 1fr);
		 gap: 12px;
	 }
 
	 .kvr-detail {
		 display: grid;
		 grid-template-columns: 1.1fr 1fr;
		 gap: 28px;
		 align-items: start;
	 }
 
	 .kvr-detail__media {
		 margin-bottom: 0;
	 }
 
	 .kvr-success {
		 max-width: 480px;
		 margin: 0 auto;
	 }
 
	 .kvr-search-block {
		 padding: 0;
	 }
 }
 
 /* ---------- Single report page (Elementor-proof) ---------- */
 
 .kvr-single {
	 --kvr-primary: #00BAB3;
	 --kvr-primary-hover: #00a39d;
	 --kvr-secondary: #007E8B;
	 --kvr-text: #333F3F;
	 --kvr-text-muted: #5A6B6B;
	 --kvr-accent: #FF8F00;
	 --kvr-accent-hover: #e68000;
	 --kvr-border: #DDE7E7;
	 --kvr-bg-soft: #F5FAFA;
	 --kvr-background-soft: #F5FAFA;
	 --kvr-background-primary-soft: #EAF9F8;
	 --kvr-wa: #25D366;
	 --kvr-lost: #C63737;
	 --kvr-found: #007E8B;
	 --kvr-font: Manrope, "Segoe UI", system-ui, sans-serif;
	 --kvr-bottom-nav-h: 0px;
	 --kvr-radius-sm: 12px;
	 --kvr-shadow-xs: 0 1px 2px rgba(51, 63, 63, 0.05);
	 --kvr-shadow-lg: 0 16px 40px rgba(51, 63, 63, 0.12), 0 4px 12px rgba(51, 63, 63, 0.06);
	 --kvr-ring: 0 0 0 3px rgba(0, 186, 179, 0.22);
	 --kvr-border-strong: #C5D4D4;
	 --kvr-danger: #D64545;
	 --kvr-transition: 160ms cubic-bezier(0.2, 0.8, 0.2, 1);
	 box-sizing: border-box;
	 max-width: 720px;
	 margin: 24px auto 56px;
	 padding: 0 16px 48px;
	 font-family: var(--kvr-font) !important;
	 color: var(--kvr-text) !important;
	 background: transparent;
 }
 
 .kvr-single *,
 .kvr-single *::before,
 .kvr-single *::after {
	 box-sizing: border-box;
 }
 
 .kvr-single__empty {
	 margin: 24px 0;
	 color: var(--kvr-text-muted) !important;
 }
 
 .kvr-single__back {
	 margin: 0 0 16px !important;
 }
 
 .kvr-single__back a {
	 display: inline-flex;
	 align-items: center;
	 gap: 6px;
	 color: var(--kvr-secondary) !important;
	 font-weight: 700 !important;
	 font-size: 0.95rem !important;
	 text-decoration: none !important;
 }
 
 .kvr-single__back a:hover {
	 color: var(--kvr-primary) !important;
 }
 
 .kvr-single__card {
	 overflow: hidden;
	 border: 1px solid var(--kvr-border);
	 border-radius: 28px;
	 background: #fff;
	 box-shadow: 0 16px 40px rgba(51, 63, 63, 0.1);
 }
 
 .kvr-single__media {
	 position: relative;
	 margin: 0 !important;
	 padding: 0 !important;
	 aspect-ratio: 1 / 1;
	 width: 100%;
	 background: #e8f2f2 !important;
	 border-bottom: 0;
	 overflow: hidden;
	 line-height: 0;
 }
 
 .kvr-single__media::after {
	 content: "";
	 position: absolute;
	 left: 0;
	 right: 0;
	 bottom: 0;
	 z-index: 1;
	 height: 28%;
	 pointer-events: none;
	 background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
 }
 
 #kvr-single button.kvr-single__media-link,
 .kvr-single__media-link {
	 position: absolute !important;
	 inset: 0 !important;
	 display: block !important;
	 width: 100% !important;
	 height: 100% !important;
	 min-width: 0 !important;
	 min-height: 0 !important;
	 max-width: none !important;
	 max-height: none !important;
	 margin: 0 !important;
	 padding: 0 !important;
	 border: 0 !important;
	 border-radius: 0 !important;
	 background: transparent !important;
	 background-color: transparent !important;
	 background-image: none !important;
	 box-shadow: none !important;
	 line-height: 0 !important;
	 text-decoration: none !important;
	 cursor: zoom-in !important;
	 font: inherit !important;
	 color: inherit !important;
	 text-align: left !important;
	 appearance: none !important;
	 -webkit-appearance: none !important;
 }
 
 #kvr-single .kvr-single__media img,
 .kvr-single__media img {
	 position: absolute !important;
	 inset: 0 !important;
	 display: block !important;
	 width: 100% !important;
	 height: 100% !important;
	 max-width: none !important;
	 max-height: none !important;
	 margin: 0 !important;
	 padding: 0 !important;
	 border: 0 !important;
	 border-radius: 0 !important;
	 object-fit: cover !important;
	 object-position: center !important;
	 background: transparent !important;
	 vertical-align: top;
 }
 
 .kvr-single__zoom-hint {
	 position: absolute;
	 right: 14px;
	 bottom: 18px;
	 z-index: 2;
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 width: 40px;
	 height: 40px;
	 padding: 0;
	 border-radius: 50%;
	 background: #fff !important;
	 color: var(--kvr-secondary) !important;
	 box-shadow: 0 6px 16px rgba(51, 63, 63, 0.16);
	 line-height: 0 !important;
	 pointer-events: none;
 }
 
 .kvr-single__zoom-hint .kvr-icon {
	 display: block;
 }
 
 .kvr-single__badge {
	 position: absolute;
	 top: 14px;
	 left: 14px;
	 display: inline-flex;
	 align-items: center;
	 margin: 0 !important;
	 padding: 8px 13px !important;
	 border-radius: 999px !important;
	 color: #fff !important;
	 font-size: 0.8125rem !important;
	 font-weight: 800 !important;
	 letter-spacing: 0.05em !important;
	 text-transform: uppercase !important;
	 background: var(--kvr-lost) !important;
	 box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
 }
 
 .kvr-single__badge--found {
	 background: var(--kvr-found) !important;
 }
 
 .kvr-single__badge--reunited {
	 background: #006d68 !important;
 }
 
 .kvr-single__body {
	 padding: 4px 22px 18px;
 }
 
 .kvr-single__header {
	 padding: 0;
 }
 
 .kvr-single__home {
	 display: flex;
	 align-items: flex-start;
	 gap: 12px;
	 margin: 0 0 16px !important;
	 padding: 14px 16px !important;
	 border-radius: 16px;
	 background: #e7f7f4;
	 color: #006d68 !important;
 }
 
 .kvr-single__home-icon {
	 flex: 0 0 auto;
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 width: 36px;
	 height: 36px;
	 border-radius: 50%;
	 background: #fff;
	 color: #006d68;
 }
 
 .kvr-single__home-copy {
	 display: grid;
	 gap: 2px;
	 min-width: 0;
 }
 
 .kvr-single__home-copy strong {
	 font-size: 1.05rem !important;
	 font-weight: 800 !important;
	 line-height: 1.25 !important;
	 color: #006d68 !important;
 }
 
 .kvr-single__home-copy span {
	 font-size: 0.92rem !important;
	 font-weight: 600 !important;
	 line-height: 1.35 !important;
	 color: #3d6f6c !important;
 }
 
 .kvr-single__brand {
	 margin: 0 0 6px !important;
	 font-size: 0.78rem !important;
	 font-weight: 800 !important;
	 letter-spacing: 0.08em !important;
	 text-transform: uppercase !important;
	 color: var(--kvr-secondary) !important;
 }
 
 .kvr-single__title-row {
	 display: flex;
	 align-items: center;
	 flex-wrap: wrap;
	 gap: 10px;
	 margin: 0 0 10px;
 }
 
 .kvr-single__title {
	 margin: 0 !important;
	 padding: 0 !important;
	 font-size: clamp(2rem, 7vw, 2.6rem) !important;
	 font-weight: 800 !important;
	 line-height: 1.05 !important;
	 letter-spacing: -0.04em !important;
	 color: var(--kvr-text) !important;
 }

 .kvr-single__code {
	 margin: 0 0 12px !important;
	 font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
	 font-size: 0.95rem !important;
	 font-weight: 700 !important;
	 letter-spacing: 0.04em !important;
	 color: var(--kvr-secondary) !important;
 }
 
 .kvr-single__urgent {
	 display: inline-flex;
	 align-items: center;
	 padding: 4px 10px;
	 border-radius: 999px;
	 border: 1px solid #f0b8b8;
	 background: #fdeeee;
	 color: #c63737 !important;
	 font-size: 0.72rem !important;
	 font-weight: 800 !important;
	 letter-spacing: 0.04em;
	 text-transform: uppercase;
 }
 
 .kvr-single__facts {
	 display: block;
	 margin: 0 0 16px !important;
	 padding: 0 !important;
	 border: 0;
	 background: transparent;
	 font-size: 0.98rem !important;
	 line-height: 1.55 !important;
	 color: var(--kvr-text-muted) !important;
 }
 
 .kvr-single__fact--wide {
	 display: block;
	 margin-top: 2px;
 }
 
 .kvr-single__fact-sep {
	 color: #b7c4c4;
	 font-weight: 500;
 }
 
 .kvr-single__fact-label {
	 margin: 0 !important;
	 font-size: inherit !important;
	 font-weight: 800 !important;
	 letter-spacing: 0 !important;
	 text-transform: none !important;
	 color: var(--kvr-text) !important;
 }
 
 .kvr-single__fact-value {
	 margin: 0 !important;
	 font-size: inherit !important;
	 font-weight: 500 !important;
	 color: var(--kvr-text-muted) !important;
 }
 
 .kvr-single__seen {
	 display: grid;
	 gap: 10px;
	 margin: 0 0 14px;
 }
 
 .kvr-single__seen-row {
	 display: flex;
	 align-items: flex-start;
	 gap: 12px;
 }
 
 .kvr-single__seen-icon {
	 flex: 0 0 auto;
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 width: 36px;
	 height: 36px;
	 border-radius: 50%;
	 background: #e7f7f6;
	 color: var(--kvr-secondary);
 }
 
 .kvr-single__seen-copy {
	 display: grid;
	 gap: 3px;
	 min-width: 0;
	 padding-top: 2px;
 }
 
 .kvr-single__seen-label {
	 margin: 0 !important;
	 font-size: 0.72rem !important;
	 font-weight: 800 !important;
	 letter-spacing: 0.08em !important;
	 text-transform: uppercase !important;
	 color: var(--kvr-text-muted) !important;
 }
 
 .kvr-single__seen-place {
	 margin: 0 !important;
	 font-size: 1.05rem !important;
	 font-weight: 800 !important;
	 color: var(--kvr-text) !important;
	 line-height: 1.25 !important;
 }
 
 .kvr-single__seen-geo,
 .kvr-single__seen-meta {
	 display: flex;
	 align-items: center;
	 flex-wrap: wrap;
	 gap: 6px;
	 margin: 0 !important;
	 font-size: 0.9rem !important;
	 line-height: 1.35 !important;
	 color: var(--kvr-text-muted) !important;
 }
 
 .kvr-single__seen-meta .kvr-icon {
	 flex: 0 0 auto;
	 color: var(--kvr-secondary);
 }
 
 .kvr-single__now {
	 margin: 0 !important;
	 color: var(--kvr-secondary) !important;
	 font-size: 0.95rem !important;
	 line-height: 1.35 !important;
	 font-weight: 700 !important;
 }
 
 .kvr-single__note {
	 margin: 0 0 18px !important;
	 padding: 12px 16px !important;
	 border-radius: 2px;
	 background: #f3f6f6;
	 color: var(--kvr-text-muted) !important;
	 font-size: 0.98rem !important;
	 font-weight: 500 !important;
	 line-height: 1.4 !important;
 }
 
 .kvr-single__contact {
	 display: grid;
	 gap: 12px;
	 margin: 4px 0 0;
	 padding: 16px;
	 border: 1px solid var(--kvr-border);
	 border-radius: 18px;
	 background: #f7fbfb;
 }
 
 .kvr-single__contact-title {
	 margin: 0 !important;
	 padding: 0 !important;
	 font-size: 1.05rem !important;
	 font-weight: 800 !important;
	 line-height: 1.25 !important;
	 letter-spacing: -0.02em !important;
	 color: var(--kvr-text) !important;
	 text-transform: none !important;
 }
 
 .kvr-single__contact-actions {
	 display: grid;
	 gap: 10px;
 }
 
 .kvr-single a.kvr-single__btn,
 .kvr-single button.kvr-single__btn {
	 display: inline-flex !important;
	 align-items: center;
	 justify-content: center;
	 gap: 8px;
	 width: 100%;
	 min-height: 52px;
	 box-sizing: border-box;
	 margin: 0 !important;
	 padding: 12px 16px !important;
	 border-radius: 16px !important;
	 border: 0 !important;
	 font-family: inherit !important;
	 font-size: 1.05rem !important;
	 font-weight: 800 !important;
	 line-height: 1.2 !important;
	 letter-spacing: 0 !important;
	 text-align: center !important;
	 text-decoration: none !important;
	 text-transform: none !important;
	 cursor: pointer;
	 box-shadow: none !important;
	 outline: none !important;
	 transition: transform 100ms ease, filter 160ms ease;
 }
 
 .kvr-single a.kvr-single__btn:hover,
 .kvr-single button.kvr-single__btn:hover {
	 filter: brightness(0.97);
 }
 
 .kvr-single a.kvr-single__btn:active,
 .kvr-single button.kvr-single__btn:active {
	 transform: scale(0.99);
 }
 
 .kvr-single a.kvr-single__btn--wa,
 .kvr-single a.kvr-single__btn--sighting,
 .kvr-single button.kvr-single__btn--sighting,
 .kvr-single button.kvr-single__btn--tip {
	 background: var(--kvr-primary) !important;
	 color: #fff !important;
 }
 
 .kvr-single a.kvr-single__btn--call {
	 background: #2f3a3a !important;
	 color: #fff !important;
 }

 .kvr-single button.kvr-single__btn--reunite {
	 flex-direction: column !important;
	 flex-wrap: nowrap !important;
	 align-items: stretch !important;
	 justify-content: center !important;
	 gap: 6px !important;
	 min-height: 0 !important;
	 height: auto !important;
	 padding: 12px 14px 13px !important;
	 background: #fff !important;
	 color: var(--kvr-text) !important;
	 border: 1.5px solid rgba(15, 23, 22, 0.18) !important;
	 white-space: normal !important;
	 overflow: visible !important;
 }

 .kvr-single button.kvr-single__btn--reunite:hover {
	 border-color: var(--kvr-primary) !important;
	 color: var(--kvr-primary) !important;
 }

 .kvr-single button.kvr-single__btn--reunite .kvr-single__btn-row {
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 gap: 8px;
	 width: 100%;
	 white-space: nowrap;
 }

 .kvr-single button.kvr-single__btn--reunite .kvr-single__reunite-hint {
	 display: block !important;
	 box-sizing: border-box !important;
	 width: 100% !important;
	 max-width: 100% !important;
	 margin: 0 !important;
	 padding: 0 2px !important;
	 font-size: 0.75rem !important;
	 font-weight: 500 !important;
	 line-height: 1.4 !important;
	 color: var(--kvr-text-muted) !important;
	 text-align: center !important;
	 white-space: normal !important;
	 overflow-wrap: anywhere !important;
	 word-break: break-word !important;
	 hyphens: auto;
 }

 .kvr-single button.kvr-single__btn--reunite:hover .kvr-single__reunite-hint {
	 color: inherit !important;
	 opacity: 0.85;
 }

 .kvr-input--code {
	 letter-spacing: 0.42em;
	 text-align: center;
	 font-size: 1.5rem !important;
	 font-weight: 700;
	 font-variant-numeric: tabular-nums;
	 padding-left: 1.1em !important;
 }

 .kvr-input--code.is-invalid,
 #kvr-reunite-code.is-invalid {
	 border-color: #c45c5c !important;
	 box-shadow: 0 0 0 3px rgba(196, 92, 92, 0.18) !important;
	 animation: kvr-code-shake 0.38s ease;
 }

 @keyframes kvr-code-shake {
	 0%,
	 100% { transform: translateX(0); }
	 20% { transform: translateX(-4px); }
	 40% { transform: translateX(4px); }
	 60% { transform: translateX(-3px); }
	 80% { transform: translateX(3px); }
 }

 .kvr-reunite-notice,
 #kvr-overlays .kvr-reunite-notice,
 #kvr-single .kvr-reunite-notice,
 #kvr-overlays .kvr-sheet--reunite .kvr-reunite-notice,
 #kvr-single .kvr-sheet--reunite .kvr-reunite-notice {
	 display: flex !important;
	 gap: 12px !important;
	 align-items: flex-start !important;
	 box-sizing: border-box !important;
	 width: 100% !important;
	 margin: 0 0 14px !important;
	 padding: 12px 14px !important;
	 border-radius: 14px !important;
	 border: 1px solid rgba(15, 118, 110, 0.22) !important;
	 background: #e8f6f4 !important;
	 color: var(--kvr-text) !important;
	 text-align: left !important;
 }

 .kvr-reunite-notice__icon,
 #kvr-overlays .kvr-reunite-notice__icon,
 #kvr-single .kvr-reunite-notice__icon {
	 flex: 0 0 auto !important;
	 display: grid !important;
	 place-items: center !important;
	 width: 32px !important;
	 height: 32px !important;
	 margin: 0 !important;
	 border-radius: 999px !important;
	 background: rgba(15, 118, 110, 0.16) !important;
	 color: var(--kvr-primary) !important;
 }

 .kvr-reunite-notice__icon svg,
 #kvr-overlays .kvr-reunite-notice__icon svg,
 #kvr-single .kvr-reunite-notice__icon svg {
	 width: 16px !important;
	 height: 16px !important;
 }

 .kvr-reunite-notice__body,
 #kvr-overlays .kvr-reunite-notice__body,
 #kvr-single .kvr-reunite-notice__body {
	 min-width: 0 !important;
	 flex: 1 1 auto !important;
 }

 .kvr-reunite-notice__lead,
 #kvr-overlays .kvr-reunite-notice__lead,
 #kvr-single .kvr-reunite-notice__lead {
	 margin: 0 0 6px !important;
	 padding: 0 !important;
	 font-size: 0.875rem !important;
	 font-weight: 800 !important;
	 line-height: 1.35 !important;
	 color: var(--kvr-text) !important;
	 letter-spacing: -0.01em !important;
 }

 .kvr-reunite-notice__text,
 #kvr-overlays .kvr-reunite-notice__text,
 #kvr-single .kvr-reunite-notice__text {
	 margin: 0 0 4px !important;
	 padding: 0 !important;
	 font-size: 0.8125rem !important;
	 font-weight: 500 !important;
	 line-height: 1.4 !important;
	 color: #3f5a57 !important;
 }

 .kvr-reunite-notice__text:last-child,
 #kvr-overlays .kvr-reunite-notice__text:last-child,
 #kvr-single .kvr-reunite-notice__text:last-child {
	 margin-bottom: 0 !important;
 }

 .kvr-reunite-error {
	 margin: 10px 0 4px !important;
 }

 .kvr-sheet--form {
	 /* Keep fixed from .kvr-sheet; absolute close uses the fixed box as containing block. */
 }

 .kvr-sheet--form > .kvr-sheet__close {
	 position: absolute;
	 top: 10px;
	 right: 10px;
	 display: grid;
	 place-items: center;
	 width: 32px;
	 height: 32px;
	 margin: 0;
	 padding: 0;
	 border: 0;
	 border-radius: 999px;
	 background: rgba(228, 228, 231, 0.7);
	 color: var(--kvr-text-muted);
	 cursor: pointer;
	 z-index: 2;
 }

 /* Centered tip modal — viewport fixed, no bottom-sheet drift */
 #kvr-app.kvr-app .kvr-sheet--tip,
 #kvr-single .kvr-sheet--tip, #kvr-overlays .kvr-sheet--tip,
 .kvr-sheet.kvr-sheet--tip {
	 position: fixed !important;
	 inset: 0 !important;
	 left: 0 !important;
	 right: 0 !important;
	 top: 0 !important;
	 bottom: 0 !important;
	 width: min(calc(100% - 24px), 400px) !important;
	 height: fit-content !important;
	 max-height: min(92dvh, 640px) !important;
	 margin: auto !important;
	 padding: 18px 16px 14px !important;
	 border-radius: 20px !important;
	 border: 1px solid var(--kvr-border) !important;
	 border-bottom: 1px solid var(--kvr-border) !important;
	 transform: none !important;
	 overflow-x: hidden;
	 overflow-y: auto;
	 overscroll-behavior: contain;
	 animation: kvr-modal-fade 0.2s ease;
	 -webkit-overflow-scrolling: touch;
	 z-index: 100050;
 }

 #kvr-app.kvr-app .kvr-sheet--tip .kvr-sheet__title,
 #kvr-single .kvr-sheet--tip .kvr-sheet__title, #kvr-overlays .kvr-sheet--tip .kvr-sheet__title {
	 margin: 0 28px 6px !important;
	 font-size: 1.05rem !important;
	 line-height: 1.25 !important;
 }

 #kvr-app.kvr-app .kvr-sheet--tip .kvr-sheet__lede,
 #kvr-single .kvr-sheet--tip .kvr-sheet__lede, #kvr-overlays .kvr-sheet--tip .kvr-sheet__lede {
	 margin: 0 0 12px !important;
	 font-size: 0.8125rem !important;
	 line-height: 1.35 !important;
 }

 #kvr-app.kvr-app .kvr-sheet--tip .kvr-field,
 #kvr-single .kvr-sheet--tip .kvr-field, #kvr-overlays .kvr-sheet--tip .kvr-field {
	 margin-bottom: 8px;
 }

 #kvr-app.kvr-app .kvr-sheet--tip .kvr-label,
 #kvr-single .kvr-sheet--tip .kvr-label, #kvr-overlays .kvr-sheet--tip .kvr-label {
	 margin-bottom: 4px;
	 font-size: 0.8125rem;
 }

 #kvr-app.kvr-app .kvr-sheet--tip .kvr-input,
 #kvr-single .kvr-sheet--tip .kvr-input, #kvr-overlays .kvr-sheet--tip .kvr-input {
	 min-height: 40px;
	 padding: 8px 11px !important;
	 font-size: 0.9375rem !important;
 }

 #kvr-app.kvr-app .kvr-sheet--tip .kvr-textarea,
 #kvr-single .kvr-sheet--tip .kvr-textarea, #kvr-overlays .kvr-sheet--tip .kvr-textarea {
	 min-height: 64px;
	 padding-top: 8px !important;
	 padding-bottom: 8px !important;
	 resize: vertical;
 }

 #kvr-app.kvr-app .kvr-sheet--tip .kvr-field-row,
 #kvr-single .kvr-sheet--tip .kvr-field-row, #kvr-overlays .kvr-sheet--tip .kvr-field-row {
	 gap: 8px;
	 margin-bottom: 0;
 }

 #kvr-app.kvr-app .kvr-sheet--tip .kvr-hint--policy,
 #kvr-single .kvr-sheet--tip .kvr-hint--policy, #kvr-overlays .kvr-sheet--tip .kvr-hint--policy {
	 margin: 2px 0 10px;
	 font-size: 0.75rem;
	 line-height: 1.3;
 }

 #kvr-app.kvr-app .kvr-sheet--tip .kvr-btn,
 #kvr-single .kvr-sheet--tip .kvr-btn, #kvr-overlays .kvr-sheet--tip .kvr-btn {
	 min-height: 42px;
	 margin-top: 0;
 }

 #kvr-app.kvr-app .kvr-sheet--tip .kvr-btn + .kvr-btn,
 #kvr-single .kvr-sheet--tip .kvr-btn + .kvr-btn, #kvr-overlays .kvr-sheet--tip .kvr-btn + .kvr-btn {
	 margin-top: 6px;
 }

 #kvr-app.kvr-app .kvr-sheet--tip .kvr-btn--ghost,
 #kvr-single .kvr-sheet--tip .kvr-btn--ghost, #kvr-overlays .kvr-sheet--tip .kvr-btn--ghost {
	 min-height: 36px;
	 font-size: 0.875rem !important;
 }

 @keyframes kvr-modal-fade {
	 from { opacity: 0; }
	 to { opacity: 1; }
 }

 @media (prefers-reduced-motion: reduce) {
	 #kvr-app.kvr-app .kvr-sheet--tip,
	 #kvr-single .kvr-sheet--tip, #kvr-overlays .kvr-sheet--tip {
		 animation: none;
	 }
 }

 @media (max-width: 480px) {
	 #kvr-app.kvr-app .kvr-sheet--tip,
	 #kvr-single .kvr-sheet--tip, #kvr-overlays .kvr-sheet--tip,
	 .kvr-sheet.kvr-sheet--tip {
		 width: min(calc(100% - 16px), 400px) !important;
		 max-height: min(94dvh, 100%) !important;
		 padding: 14px 12px 12px !important;
	 }

	 #kvr-app.kvr-app .kvr-sheet--tip .kvr-field-row,
	 #kvr-single .kvr-sheet--tip .kvr-field-row, #kvr-overlays .kvr-sheet--tip .kvr-field-row {
		 grid-template-columns: 1fr 1fr;
	 }
 }

 .kvr-hint--policy {
	 margin: 0 0 16px;
	 font-size: 0.8125rem;
	 line-height: 1.4;
	 color: var(--kvr-text-muted);
 }

 .kvr-hint--policy a {
	 color: inherit;
	 text-decoration: underline;
 }

 .kvr-detail__actions .kvr-btn--accent {
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 gap: 8px;
 }

 .kvr-share-sheet__cta--tip[hidden] {
	 display: none !important;
 }
 
 .kvr-single__footer {
	 display: grid;
	 grid-template-columns: 1fr 1fr;
	 border-top: 1px solid var(--kvr-border);
 }

 .kvr-single__footer:has(.kvr-single__foot-btn--alone) {
	 display: flex;
	 justify-content: flex-end;
	 align-items: center;
	 padding: 12px 16px;
	 gap: 0;
 }
 
 .kvr-single button.kvr-single__foot-btn {
	 display: inline-flex !important;
	 align-items: center;
	 justify-content: center;
	 gap: 8px;
	 min-height: 52px;
	 margin: 0 !important;
	 padding: 12px 10px !important;
	 border: 0 !important;
	 border-radius: 0 !important;
	 background: transparent !important;
	 background-color: transparent !important;
	 appearance: none !important;
	 -webkit-appearance: none !important;
	 color: var(--kvr-text) !important;
	 font-family: inherit !important;
	 font-size: 0.78rem !important;
	 font-weight: 800 !important;
	 letter-spacing: 0.06em !important;
	 text-transform: uppercase !important;
	 cursor: pointer;
	 box-shadow: none !important;
 }
 
 .kvr-single button.kvr-single__foot-btn + .kvr-single__foot-btn {
	 border-left: 1px solid var(--kvr-border) !important;
 }

 .kvr-single button.kvr-single__foot-btn--alone {
	 width: auto;
	 min-height: 44px;
	 padding: 10px 18px !important;
	 border: 1px solid var(--kvr-border) !important;
	 border-radius: 999px !important;
	 border-left: 1px solid var(--kvr-border) !important;
	 background: #ffffff !important;
	 background-color: #ffffff !important;
	 color: var(--kvr-secondary) !important;
	 justify-content: center;
	 box-shadow: none !important;
 }
 
 .kvr-single button.kvr-single__foot-btn:hover {
	 background: #f7fafa !important;
	 color: var(--kvr-secondary) !important;
 }

 .kvr-single button.kvr-single__foot-btn--alone:hover {
	 background: var(--kvr-background-soft, #f3f6f6) !important;
	 border-color: var(--kvr-border-strong, #c9d4d4) !important;
	 color: var(--kvr-secondary) !important;
 }

 .kvr-single button.kvr-single__foot-btn--primary {
	 color: var(--kvr-accent) !important;
 }

 .kvr-single button.kvr-single__foot-btn--primary.kvr-single__foot-btn--alone {
	 color: var(--kvr-secondary) !important;
 }

 html.kvr-share-open {
	 overflow: hidden;
 }

 #kvr-single .kvr-toast {
	 bottom: 24px;
 }

@media (min-width: 900px) {
	.kvr-single {
		max-width: 1080px;
	}

	.kvr-single__card:has(.kvr-single__media) {
		display: grid;
		grid-template-columns: minmax(340px, 44%) minmax(0, 1fr);
		grid-template-rows: 1fr auto;
		align-items: stretch;
	}

	.kvr-single__card:has(.kvr-single__media) .kvr-single__media {
		grid-column: 1;
		grid-row: 1 / -1;
		aspect-ratio: auto;
		min-height: 100%;
		height: auto;
	}

	.kvr-single__card:has(.kvr-single__media) .kvr-single__media::after {
		top: 0;
		bottom: 0;
		left: auto;
		right: 0;
		width: 34%;
		height: auto;
		background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
	}

	.kvr-single__card:has(.kvr-single__media) .kvr-single__body {
		grid-column: 2;
		grid-row: 1;
		padding: 28px 28px 16px;
	}

	.kvr-single__card:has(.kvr-single__media) .kvr-single__footer {
		grid-column: 2;
		grid-row: 2;
	}

	.kvr-single__card:has(.kvr-single__media) .kvr-single__zoom-hint {
		right: auto;
		left: 14px;
		bottom: 16px;
	}

	.kvr-single__card:has(.kvr-single__media) .kvr-single__contact-actions {
		grid-template-columns: 1fr 1fr;
	}
}
 
 .kvr-single__block-title {
	 margin: 0 0 6px !important;
	 padding: 0 !important;
	 font-size: 1rem !important;
	 font-weight: 800 !important;
	 color: var(--kvr-text) !important;
 }
 
 .kvr-single__related {
	 margin-top: 36px;
	 padding: 8px 0 0;
 }

 .kvr-single__related-head {
	 display: flex;
	 align-items: center;
	 justify-content: space-between;
	 gap: 12px;
	 margin: 0 0 10px;
 }

 .kvr-single__related-head .kvr-single__block-title {
	 margin: 0 !important;
 }

 .kvr-related-nav {
	 display: none;
	 align-items: center;
	 gap: 8px;
 }

 .kvr-related-nav__btn {
	 display: inline-flex !important;
	 align-items: center;
	 justify-content: center;
	 width: 40px;
	 height: 40px;
	 margin: 0 !important;
	 padding: 0 !important;
	 border: 1px solid var(--kvr-border) !important;
	 border-radius: 50% !important;
	 background: #fff !important;
	 color: var(--kvr-secondary) !important;
	 cursor: pointer;
	 box-shadow: none !important;
 }

 .kvr-related-nav__btn:hover {
	 background: #f3fafa !important;
 }

 .kvr-related-slider {
	 margin: 0 0 14px;
 }
 
 .kvr-single__related-list {
	 display: grid;
	 gap: 10px;
	 margin: 0 !important;
	 padding: 0 !important;
	 list-style: none !important;
 }
 
 .kvr-single__related-list li {
	 margin: 0 !important;
	 padding: 0 !important;
	 border: 0 !important;
 }
 
 .kvr-related-card {
	 display: flex;
	 align-items: flex-start;
	 gap: 12px;
	 min-height: 80px;
	 padding: 10px;
	 border: 1px solid var(--kvr-border);
	 border-radius: 16px;
	 background: #fff;
	 color: var(--kvr-text) !important;
	 text-decoration: none !important;
	 transition: border-color 0.15s ease, box-shadow 0.15s ease;
 }
 
 .kvr-related-card:hover {
	 border-color: #b7d6d6;
	 box-shadow: 0 6px 18px rgba(0, 126, 139, 0.08);
 }
 
 .kvr-related-card:focus-visible {
	 outline: 3px solid rgba(0, 126, 139, 0.35);
	 outline-offset: 2px;
 }
 
 .kvr-related-card__media {
	 flex: 0 0 80px;
	 display: block;
	 width: 80px;
	 height: 80px;
	 overflow: hidden;
	 border-radius: 12px;
	 background: #e7f3f3;
	 line-height: 0;
 }
 
 .kvr-related-card__media img {
	 display: block !important;
	 width: 80px !important;
	 height: 80px !important;
	 max-width: none !important;
	 margin: 0 !important;
	 padding: 0 !important;
	 border: 0 !important;
	 border-radius: 0 !important;
	 object-fit: cover !important;
	 object-position: center !important;
 }
 
 .kvr-related-card__placeholder {
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 width: 80px;
	 height: 80px;
	 color: var(--kvr-secondary);
 }
 
 .kvr-related-card__body {
	 display: grid;
	 gap: 2px;
	 min-width: 0;
	 padding-top: 2px;
 }
 
 .kvr-related-card__badge {
	 position: static;
	 display: inline-flex;
	 align-items: center;
	 width: fit-content;
	 min-height: 0;
	 margin: 0 0 2px;
	 padding: 2px 8px;
	 border: 0;
	 border-radius: 999px;
	 box-shadow: none;
	 font-size: 0.62rem !important;
	 font-weight: 800 !important;
	 letter-spacing: 0.06em;
	 line-height: 1.3 !important;
	 text-transform: uppercase;
 }
 
 .kvr-related-card__badge::before {
	 display: none;
 }
 
 .kvr-related-card__name {
	 display: block;
	 margin: 0;
	 font-size: 1rem !important;
	 font-weight: 800 !important;
	 line-height: 1.25 !important;
	 color: var(--kvr-text) !important;
 }

 .kvr-related-card__code {
	 display: block;
	 margin: 0;
	 font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	 font-size: 0.72rem !important;
	 font-weight: 700 !important;
	 letter-spacing: 0.04em;
	 line-height: 1.3 !important;
	 color: var(--kvr-secondary) !important;
 }

 .kvr-related-card__place,
 .kvr-related-card__when {
	 display: block;
	 margin: 0;
	 font-size: 0.82rem !important;
	 font-weight: 600 !important;
	 line-height: 1.3 !important;
	 color: var(--kvr-text-muted) !important;
 }
 
 @media (min-width: 560px) and (max-width: 899px) {
	 .kvr-single__related-list {
		 grid-template-columns: 1fr 1fr;
	 }
 }

 @media (min-width: 900px) {
	 .kvr-related-nav {
		 display: flex;
	 }

	 .kvr-related-slider {
		 overflow: hidden;
	 }

	 .kvr-single__related-list {
		 display: flex;
		 gap: 16px;
		 overflow-x: auto;
		 overscroll-behavior-x: contain;
		 scroll-snap-type: x mandatory;
		 scroll-behavior: smooth;
		 scrollbar-width: none;
		 -webkit-overflow-scrolling: touch;
	 }

	 .kvr-single__related-list::-webkit-scrollbar {
		 display: none;
	 }

	 .kvr-single__related-list li {
		 flex: 0 0 calc((100% - 32px) / 3);
		 max-width: calc((100% - 32px) / 3);
		 scroll-snap-align: start;
		 scroll-snap-stop: always;
	 }

	 .kvr-single__related-list .kvr-related-card {
		 height: 100%;
		 min-width: 0;
	 }
 }

 @media (prefers-reduced-motion: reduce) {
	 .kvr-single__related-list {
		 scroll-behavior: auto;
	 }
 }
 
 .kvr-single__related-more {
	 margin: 0 !important;
 }
 
 .kvr-single__related-more a {
	 color: var(--kvr-text-muted) !important;
	 font-weight: 600 !important;
	 font-size: 0.9rem !important;
 }
 
 .kvr-seo-index {
	 display: grid;
	 gap: 8px;
	 width: 100%;
 }
 
 .kvr-seo-index__link {
	 display: block;
	 padding: 12px 14px;
	 border: 1px solid var(--kvr-border);
	 border-radius: 14px;
	 background: #fff;
	 color: var(--kvr-text) !important;
	 font-weight: 700 !important;
	 font-size: 0.95rem !important;
	 line-height: 1.35 !important;
	 text-decoration: none !important;
 }
 
 .kvr-seo-index__link:hover {
	 border-color: var(--kvr-primary);
	 color: var(--kvr-secondary) !important;
 }
 
 /* ---------- Photo lightbox ---------- */
 
 .kvr-lightbox {
	 padding: 0;
	 border: 0;
	 border-radius: 16px;
	 width: min(96vw, 920px);
	 max-width: 96vw;
	 max-height: 92vh;
	 background: #0b1212;
	 color: #fff;
	 box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
 }
 
 .kvr-lightbox::backdrop {
	 background: rgba(8, 14, 14, 0.82);
	 backdrop-filter: blur(2px);
 }
 
 .kvr-lightbox__inner {
	 position: relative;
	 padding: 0;
 }
 
 .kvr-lightbox__close {
	 position: absolute;
	 top: 10px;
	 right: 10px;
	 z-index: 2;
	 display: inline-flex !important;
	 align-items: center;
	 justify-content: center;
	 width: 40px;
	 min-width: 40px;
	 height: 40px;
	 min-height: 40px;
	 padding: 0 !important;
	 border: 0 !important;
	 border-radius: 50% !important;
	 background: rgba(0, 0, 0, 0.55) !important;
	 color: #fff !important;
	 line-height: 0 !important;
	 cursor: pointer;
	 appearance: none !important;
	 -webkit-appearance: none !important;
	 box-shadow: none !important;
 }
 
 .kvr-lightbox__close:hover {
	 background: rgba(0, 0, 0, 0.72);
 }
 
 .kvr-lightbox__close .kvr-icon {
	 display: block;
	 color: #fff;
 }
 
 .kvr-lightbox__img {
	 display: block;
	 width: 100%;
	 height: auto;
	 max-height: 88vh;
	 object-fit: contain;
	 background: #0b1212;
 }

/* Elementor footer sits AFTER #kvr-app. The app uses isolation:isolate, so
   the nav's z-index stays trapped inside and the footer paints on top.
   Raise the app slightly; keep header above the app and footer below. */
body:has(#kvr-app) #kvr-app {
	z-index: 1;
}

body:has(#kvr-app) header.elementor-location-header {
	position: relative;
	z-index: 100 !important;
}

body:has(#kvr-app) footer.elementor-location-footer,
body:has(#kvr-app) footer.elementor-location-footer .e-con,
body:has(#kvr-app) footer.elementor-location-footer .e-grid,
body:has(#kvr-app) footer.elementor-location-footer .e-parent {
	z-index: 0 !important;
}

@media (max-width: 767px) {
	body:has(#kvr-app) footer.elementor-location-footer {
		padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px) + 12px);
	}
}
 
 
 