/*
 * Application CSS - Propshaft compatible
 * This file is served directly by Propshaft
 */

@import url("/assets/application.tailwind-273a8bd3.css");
@import url("/assets/flash-aa6c2c95.css");

/* Product typefaces: Figtree is bundled; Lora and Geist are loaded from the
 * maintained Google Fonts CSS endpoint so all products can use the same names. */
@font-face {
  font-family: 'Figtree';
  src: url("/assets/Figtree-Variable.ttf") format('truetype');
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
}

.flatpickr-calendar.availability-calendar .flatpickr-day.availability-unavailable {
  background: #fef2f2;
  color: #b91c1c;
  opacity: 1;
  text-decoration: line-through;
}

.no-scrollbar::-webkit-scrollbar {
  display: none;
}

.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

#home-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(27, 67, 50, 0.75) 0%, rgba(27, 67, 50, 0.85) 100%);
  z-index: 1;
  opacity: 0.4;
}

#home-hero .toggle {
  display: inline-block;
}

#home-hero .toggle.hidden {
  display: none;
}

#home-hero .toggle::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 4px;
  background: #52b788;
  border-radius: 2px;
  opacity: 0.9;
  z-index: -1;
}


@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.home-hero-content > * {
  animation: fadeInUp 0.6s ease-out backwards;
}

.home-hero-content > *:nth-child(1) { animation-delay: 0s; }
.home-hero-content > *:nth-child(2) { animation-delay: 0.1s; }
.home-hero-content > *:nth-child(3) { animation-delay: 0.15s; }
.home-hero-content > *:nth-child(4) { animation-delay: 0.2s; }

/* Release hero stacking contexts so the same search can sit above the header. */
.has-search-dock,
.has-search-dock .home-hero-content,
.has-search-dock .hero-search-dock > div {
  z-index: auto;
}
.has-search-dock::before { pointer-events: none; }
.has-search-dock [data-search-vertical-tabs],
.has-search-dock #home-search-form-popular-dates { position: relative; z-index: 2; }
.has-search-dock .home-hero-content > :is(h1, p, .home-hero-badge) { position: relative; z-index: 2; }
.has-search-dock .home-hero-content > div:last-child { animation: none; }
@media (prefers-reduced-motion: reduce) {
  .has-search-dock .home-hero-content > * { animation: none; }
}

/* Custom styles */
@media (min-width: 1024px) {
  .sm\:w-68 {
    width:17rem;
  }
}

.mt-26 {
  margin-top: 6.5rem;
}

.enrichment-workbench h1, .enrichment-workbench h2 {
  font-family: 'Geist', ui-sans-serif, system-ui, sans-serif !important;
}

h1, h2 {
  font-family: 'Lora', ui-serif, Georgia, serif !important;
}

.geist {
  font-family: 'Geist', ui-sans-serif, system-ui, sans-serif !important;
}

/* Cropper.js custom styles (CSS loaded dynamically by controller) */
.cropper-wrapper {
  position: relative;
  width: 100%;
  height: 400px;
  overflow: hidden;
  background-color: #f3f4f6;
}

.cropper-wrapper img {
  display: block;
  max-width: 100%;
}

#home-search-form gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='hero'] {
  min-width: 0;
  max-width: 100%;
}

body.hero-mobile-location-overlay-open {
  overflow: hidden;
}

body.search-mobile-drawer-open {
  overflow: hidden;
}

/*
 * Un-fix the sticky site header when the viewport is short, such as
 * landscape phones or heavily zoomed desktop layouts, so it does not
 * consume too much of the available reading area.
 */
@media (max-height: 480px), (max-height: 640px) and (max-width: 1024px) {
  #site-navigation {
    position: static;
  }
}

@media (max-width: 639px) {
  #hero-mobile-location-overlay gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='hero-mobile-overlay'] {
    min-width: 0;
    width: 100%;
  }

  #hero-mobile-location-overlay gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='hero-mobile-overlay']::part(input) {
    background: transparent;
    border: 0;
    border-radius: 0;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.4;
    padding: 1rem 5rem 1rem 3.5rem;
  }

  #hero-mobile-location-overlay gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='hero-mobile-overlay']::part(input)::placeholder {
    color: #6b7280;
    padding-top: 0;
  }

  #hero-mobile-location-overlay gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='hero-mobile-overlay']::part(prediction-list) {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 1.25rem;
    box-shadow: 0 18px 40px -28px rgba(15, 23, 42, 0.45);
    margin-top: 0.75rem;
    overflow: hidden;
  }

  #hero-mobile-location-overlay gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='hero-mobile-overlay']::part(prediction-item) {
    align-items: center;
    border-top: 1px solid #e5e7eb;
    gap: 1rem;
    padding: 0.875rem 1.25rem;
  }

  #hero-mobile-location-overlay gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='hero-mobile-overlay']::part(prediction-item-icon) {
    align-self: center;
    margin-top: 0;
  }

  #hero-mobile-location-overlay gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='hero-mobile-overlay']::part(prediction-item-main-text) {
    display: inline;
    font-size: 1rem;
    line-height: 1.15;
  }

  #current-location-suggestion-mobile {
    width: 100%;
  }

  #current-location-suggestion-mobile .px-5.py-2,
  #current-location-suggestion-mobile .px-5.py-4 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

#search-form-desktop gmp-place-autocomplete.google-place-autocomplete {
  max-width: 100%;
  min-width: 0;
  margin-top: 0;
}

#storefront-search-form-desktop gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='search-desktop'],
#storefront-search-form-desktop gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='search-desktop']::part(prediction-list) {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 100%;
  width: 100%;
}

#search-form-mobile gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='search-mobile'] {
  max-width: 100%;
  min-width: 0;
}

gmp-place-autocomplete.google-place-autocomplete {
  font-family: inherit;
  box-sizing: border-box;
  display: block;
  width: 100%;
}

gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='address'] {
  padding: 0;
}

gmp-place-autocomplete.google-place-autocomplete::part(input) {
  background: transparent;
  border: 0;
  border-radius: inherit;
  box-sizing: border-box;
  color: inherit;
  font: inherit;
  line-height: inherit;
  min-width: 0;
  outline: 0;
  overflow: hidden;
  padding: inherit;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}

gmp-place-autocomplete.google-place-autocomplete .autocomplete-icon svg path {
  fill: #99a1af;
}

gmp-place-autocomplete.google-place-autocomplete::part(input)::placeholder {
  color: #9ca3af;
  opacity: 1;
  padding-top: 2px;
}

gmp-place-autocomplete.google-place-autocomplete::part(prediction-list) {
  border: 1px solid #d1d5db;
  border-radius: 1rem;
  box-shadow: 0 20px 25px -5px rgba(15, 23, 42, 0.12), 0 8px 10px -6px rgba(15, 23, 42, 0.12);
  margin-top: 0.5rem;
  overflow: hidden;
}

gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='address']::part(prediction-list) {
  border-radius: 0.75rem;
  margin-top: 0.25rem;
}

gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='address']::part(input) {
  padding: 0.625rem;
}

gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='hero']::part(prediction-list),
gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='hero-mobile-overlay']::part(prediction-list),
gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='search-mobile']::part(prediction-list),
gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='search-desktop']::part(prediction-list) {
  margin-top: 0.25rem;
}

gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='search-mobile']::part(input) {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25rem;
  padding: 0;
}

gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='search-mobile']::part(input)::placeholder {
  color: #9ca3af;
  padding-top: 0;
}

gmp-place-autocomplete.google-place-autocomplete::part(prediction-item) {
  align-items: flex-start;
  color: #111827;
  font: inherit;
  gap: 0.875rem;
  justify-content: flex-start;
  padding: 0.75rem 1rem;
  text-align: left;
}

gmp-place-autocomplete.google-place-autocomplete::part(prediction-item-icon) {
  align-self: flex-start;
  color: #6b7280;
  flex: 0 0 auto;
  margin-top: 0.125rem;
}

gmp-place-autocomplete.google-place-autocomplete::part(prediction-item-main-text) {
  color: inherit;
  display: inline;
  line-height: 1.2;
  text-align: left;
}

gmp-place-autocomplete.google-place-autocomplete::part(prediction-item-match) {
  font-weight: 600;
}

gmp-place-autocomplete.google-place-autocomplete::part(prediction-item-selected) {
  background-color: #f3f4f6;
}

gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='search-mobile']::part(prediction-item) {
  align-items: center;
  min-height: 0;
  padding: 0.75rem 1rem;
}

gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='hero']::part(prediction-item),
gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='search-desktop']::part(prediction-item) {
  align-items: center;
  min-height: 0;
  padding: 0.1rem 1rem;
}

gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='search-mobile']::part(prediction-item-icon),
gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='hero']::part(prediction-item-icon),
gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='search-desktop']::part(prediction-item-icon) {
  align-self: center;
  margin-top: 0;
}

gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='search-mobile']::part(prediction-item-main-text),
gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='hero']::part(prediction-item-main-text),
gmp-place-autocomplete.google-place-autocomplete[data-autocomplete-variant='search-desktop']::part(prediction-item-main-text) {
  line-height: 1.1;
}

#benefits-scroll-container::-webkit-scrollbar {
  display: none;
}
/* Storefront palette: revision values are defaults, CSS is the override layer.
 * Change these six variables here, or in .storefront-site[data-storefront="slug"].
 * Configured colors remain on --storefront-config-* rather than overriding CSS.
 */
.storefront-site {
  --storefront-primary: var(--storefront-config-primary, #166534);
  --storefront-secondary: var(--storefront-config-secondary, #14532d);
  --storefront-accent: var(--storefront-config-accent, #f59e0b);
  --storefront-background: var(--storefront-config-background, #ffffff);
  --storefront-surface: var(--storefront-config-surface, #ffffff);
  --storefront-text: var(--storefront-config-text, #111827);
  --storefront-text-muted: color-mix(in srgb, var(--storefront-text) 70%, var(--storefront-background));
  --storefront-border: color-mix(in srgb, var(--storefront-text) 18%, var(--storefront-surface));
  --storefront-on-primary: #ffffff;
  --color-primary: var(--storefront-primary);
  --color-primary-hover: var(--storefront-secondary);
  --color-primary-focus: var(--storefront-secondary);
  --color-primary-dark: var(--storefront-secondary);
  --color-secondary: var(--storefront-text-muted);
  --color-secondary-700: var(--storefront-text-muted);
  --color-tertiary: var(--storefront-border);
  --color-surface: var(--storefront-surface);
  --color-surface-subtle: var(--storefront-background);
  --color-surface-muted: var(--storefront-border);
  --color-line: var(--storefront-border);
  --color-line-disabled: var(--storefront-border);
  --color-star: var(--storefront-accent);
  background-color: var(--storefront-background, #ffffff);
  color: var(--storefront-text, #111827);
  font-family: var(--storefront-body-font, var(--storefront-font, ui-sans-serif, system-ui, sans-serif));
}

.storefront-site #site-navigation,
.storefront-site :is(.hero-search-container, .navigation-search-container) > div {
  background-color: var(--storefront-surface);
  color: var(--storefront-text);
  border-color: var(--storefront-border);
}
.storefront-site :is(#home-search-form, .navigation-search-form) :is(input:not([type="hidden"]), [data-search-site-type-label], [data-search-rv-class-label]) {
  color: var(--storefront-text);
}
.storefront-site :is(#home-search-form, .navigation-search-form) .text-gray-500 { color: var(--storefront-text-muted); }
.storefront-site :is(#home-search-form, .navigation-search-form) .border-gray-300 { border-color: var(--storefront-border); }

.storefront-site h1,
.storefront-site h2,
.storefront-site h3,
.storefront-site h4,
.storefront-site h5,
.storefront-site h6 {
  font-family: var(--storefront-heading-font, Lora, ui-serif, Georgia, serif) !important;
}

.storefront-site .geist {
  font-family: var(--storefront-body-font, var(--storefront-font, Geist, ui-sans-serif, sans-serif)) !important;
}

.storefront-site > main,
.storefront-site > main.bg-white {
  background-color: var(--storefront-background, #ffffff);
}

.storefront-site .storefront-surface {
  background-color: var(--storefront-surface, #f0fdf4);
}

.storefront-site .storefront-secondary-section {
  color: #ffffff;
}

.storefront-site .storefront-secondary-section .text-gray-600,
.storefront-site .storefront-secondary-section .text-gray-500 {
  color: rgb(255 255 255 / 80%);
}

.storefront-site .storefront-secondary-section .text-gray-700,
.storefront-site .storefront-secondary-section .text-gray-800,
.storefront-site .storefront-secondary-section .text-green-700 {
  color: #ffffff;
}

.storefront-site .storefront-secondary-section .bg-white {
  color: #111827;
}

.font-figtree {
  font-family: var(--storefront-body-font, var(--storefront-font, 'Figtree', ui-sans-serif, system-ui, sans-serif)) !important;
}

.font-geist {
  font-family: var(--storefront-body-font, var(--storefront-font, 'Geist', ui-sans-serif, system-ui, sans-serif)) !important;
}

.font-lora {
  font-family: var(--storefront-heading-font, 'Lora', ui-serif, Georgia, serif) !important;
}

/* Opt-in Figma field foundation. Utilities remain free to set width, spacing,
 * and responsive type. Native select arrows are supplied by the documented wrapper.
 * See docs/design-system/TAILWIND_EXAMPLES.md for labels, errors, and state markup. */
@layer components {
  .design-field {
    box-sizing: border-box;
    width: 100%;
    min-height: 2.75rem;
    border: 1px solid var(--color-line, #A7B8AC);
    border-radius: 0.5rem;
    background-color: var(--storefront-surface, var(--color-surface, #FFFFFF));
    padding: 0.6875rem 0.75rem;
    color: var(--storefront-text, var(--color-primary, #0F2D1F));
    font-family: var(--storefront-body-font, var(--storefront-font, 'Geist', ui-sans-serif, system-ui, sans-serif));
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .design-field::placeholder {
    color: var(--storefront-text, var(--color-secondary, #5C6E61));
    opacity: 1;
  }

  .design-field:where(:hover:not(:disabled):not([readonly])) {
    border-color: var(--storefront-secondary, var(--color-secondary, #5C6E61));
  }

  .design-field:focus {
    border-color: var(--storefront-primary, var(--color-primary, #0F2D1F));
    outline: 2px solid var(--storefront-primary, var(--color-primary, #0F2D1F));
    outline-offset: 2px;
  }

  .design-field[readonly] {
    background-color: var(--storefront-background, var(--color-surface-subtle, #F0F4F1));
  }

  /* Figma Text Input default/focused states. Populated fields intentionally
   * retain the same resting appearance as empty fields. */
  .design-field.design-text-field {
    font-weight: 400;
  }

  .design-text-field:focus:where(:not(:disabled):not([readonly]):not([aria-invalid="true"]):not(.field_with_errors *)) {
    background-color: var(--storefront-surface, var(--color-surface, #FFFFFF));
    border-color: var(--storefront-primary, var(--color-primary, #0F2D1F));
    box-shadow: inset 0 0 0 0.5px var(--storefront-primary, var(--color-primary, #0F2D1F));
    outline: 0;
    font-weight: 400;
  }

  .design-text-field-group > label {
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 600;
    color: var(--storefront-text, var(--color-secondary, #5C6E61));
  }

  .design-text-field-group:focus-within > label {
    color: var(--storefront-primary, var(--color-primary, #0F2D1F));
  }

  /* Stepper values are changed by the adjacent accessible + / − buttons. */
  input.design-stepper-value[type="number"] {
    appearance: textfield;
    -moz-appearance: textfield;
  }

  input.design-stepper-value::-webkit-inner-spin-button,
  input.design-stepper-value::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }

  .design-field:disabled {
    border-color: var(--color-line-disabled, #C5D0C8);
    background-color: var(--storefront-background, var(--color-surface-muted, #E3EBE4));
    cursor: not-allowed;
    opacity: 0.6;
  }

  .design-field[data-validation="success"]:where(:not(:disabled)) {
    border-color: var(--color-success, #15803D);
  }

  .design-field[aria-invalid="true"],
  .field_with_errors .design-field {
    border-color: var(--color-error, #DC2626);
  }

  .design-select {
    appearance: none;
    background-image: none;
    padding-inline-end: 2.5rem;
  }
}

/* Scoped adoption for the new marketplace forms. Kept outside utility layers so
 * legacy border/focus utilities cannot override the approved field states.
 * Layout, widths, required attributes and native input behavior stay unchanged. */
.design-form {
  --design-form-line: var(--color-line, #A7B8AC);
  --design-form-hover: var(--storefront-secondary, var(--color-secondary, #5C6E61));
  --design-form-focus: var(--storefront-primary, var(--color-primary, #0F2D1F));
  --design-form-surface: var(--storefront-surface, var(--color-surface, #FFFFFF));
}

.design-form :where(input:not([type="hidden"], [type="checkbox"], [type="radio"], [type="file"], [type="submit"], [type="button"], [type="range"], [type="color"]), textarea, select, [contenteditable="true"], [data-host-profile-fields-target~="languageTrigger"]) {
  box-sizing: border-box;
  border: 1px solid var(--design-form-line);
  border-radius: 0.5rem;
  background-color: var(--design-form-surface);
  padding: 0.6875rem 0.75rem;
  color: var(--storefront-text, var(--color-primary, #0F2D1F));
  font-size: 1rem;
  line-height: 1.25rem;
  font-weight: 400;
  box-shadow: none;
  transition: border-color 150ms ease, background-color 150ms ease;
}

.design-form :where(input:not([type="hidden"], [type="checkbox"], [type="radio"], [type="file"], [type="submit"], [type="button"], [type="range"], [type="color"]), select, [data-host-profile-fields-target~="languageTrigger"]) {
  min-height: 2.75rem;
}

.design-form :where(input, textarea)::placeholder {
  color: var(--storefront-text, var(--color-secondary, #5C6E61));
  opacity: 1;
}

.design-form :where(input, textarea, select, [contenteditable="true"], [data-host-profile-fields-target~="languageTrigger"]):where(:not([type="submit"]):not([type="button"]):not([type="file"]):not([type="hidden"]):hover:not(:disabled):not([readonly]):not([aria-invalid="true"]):not(.field_with_errors *)) {
  border-color: var(--design-form-hover);
}

.design-form :where(input, textarea, select, [contenteditable="true"], [data-host-profile-fields-target~="languageTrigger"]):where(:not([type="submit"]):not([type="button"]):not([type="file"]):not([type="hidden"]):focus:not(:disabled):not([readonly])) {
  border-color: var(--design-form-focus);
  box-shadow: inset 0 0 0 0.5px var(--design-form-focus);
  outline: 0;
}

.design-form :where(input, textarea)[readonly] {
  background-color: var(--storefront-background, var(--color-surface-subtle, #F0F4F1));
}

.design-form :where(input, textarea)[readonly]:focus {
  outline: 2px solid var(--design-form-focus);
  outline-offset: 2px;
}

.design-form :where(input, textarea, select):disabled {
  background-color: var(--storefront-background, var(--color-surface-muted, #E3EBE4));
  border-color: var(--color-line-disabled, #C5D0C8);
  cursor: not-allowed;
  opacity: 0.6;
}

.design-form :where(input, textarea, select)[data-validation="success"]:where(:not(:disabled)) {
  border-color: var(--color-success, #15803D);
}

.design-form :where(input, textarea, select, [contenteditable="true"])[aria-invalid="true"],
.design-form .field_with_errors :where(input, textarea, select) {
  border-color: var(--color-error, #DC2626);
}

.design-form :where(input, textarea, select, [contenteditable="true"])[aria-invalid="true"]:focus,
.design-form .field_with_errors :where(input, textarea, select):focus {
  box-shadow: inset 0 0 0 0.5px var(--color-error, #DC2626);
}

.design-form select {
  appearance: none;
  padding-inline-end: 2.5rem;
  background-image: url("/assets/multiselect-chevron-30c20eb1.svg");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 0.875rem;
}

.design-form .relative:has(> select) > svg.pointer-events-none {
  display: none;
}

.design-form :where(input[type="checkbox"], input[type="radio"]) {
  accent-color: var(--design-form-focus);
  color: var(--design-form-focus);
}

.design-form :where(input[type="checkbox"], input[type="radio"]):focus-visible {
  outline: 2px solid var(--design-form-focus);
  outline-offset: 2px;
  box-shadow: none;
}

.design-form label:has(> input[type="radio"]:not(:disabled)):hover {
  border-color: var(--design-form-hover);
  background-color: var(--storefront-background, var(--color-surface-subtle, #F0F4F1));
}

.design-form label:has(> input[type="radio"]):focus-within {
  outline: 2px solid var(--design-form-focus);
  outline-offset: 2px;
}

.design-form .photo-upload-zone:hover:not(:has(input:disabled)) {
  border-color: var(--design-form-hover);
  background-color: var(--storefront-background, var(--color-surface-subtle, #F0F4F1));
}

.design-form label[for]:not(:has(input)) {
  color: var(--storefront-text, var(--color-secondary, #5C6E61));
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
}

.design-form :where(div, section):focus-within > label[for]:not(:has(input)) {
  color: var(--design-form-focus);
}

.design-form .design-input-group {
  border: 1px solid var(--design-form-line);
  border-radius: 0.5rem;
  background-color: var(--design-form-surface);
}

.design-form .design-input-group:hover {
  border-color: var(--design-form-hover);
}

.design-form .design-input-group:focus-within {
  border-color: var(--design-form-focus);
  box-shadow: inset 0 0 0 0.5px var(--design-form-focus);
}

.design-form .design-input-group > input,
.design-form .design-input-group > input:focus {
  min-height: 2.625rem;
  border: 0;
  background-color: transparent;
  box-shadow: none;
  outline: 0;
}

.design-form .design-input-group > span {
  display: flex;
  align-items: center;
  padding-block: 0.625rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

@media (min-width: 640px) {
  .design-form :where(input:not([type="submit"], [type="button"], [type="checkbox"], [type="radio"], [type="file"], [type="hidden"]), textarea, select, [contenteditable="true"], [data-host-profile-fields-target~="languageTrigger"]) {
    font-size: 0.875rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .design-form :where(input, textarea, select, [contenteditable="true"]) {
    transition: none;
  }
}

.property-page-tabs,
.property-page-tabs .property-tab {
  font-family: 'Geist', ui-sans-serif, system-ui, sans-serif;
}

.storefront-site .bg-green-800,
.storefront-site .bg-green-700 {
  background-color: var(--storefront-primary, #166534);
}

.storefront-site .hover\:bg-green-700:hover,
.storefront-site .hover\:bg-green-800:hover {
  background-color: var(--storefront-secondary, #14532d);
}

.storefront-site .text-green-800,
.storefront-site .text-green-700 {
  color: var(--storefront-primary, #166534);
}

.storefront-site .hover\:text-green-700:hover,
.storefront-site .hover\:text-green-800:hover {
  color: var(--storefront-secondary, #14532d);
}

.storefront-site .border-green-700,
.storefront-site .border-green-800 {
  border-color: var(--storefront-primary, #166534);
}

.storefront-site .focus\:border-green-700:focus,
.storefront-site .focus\:border-green-800:focus {
  border-color: var(--storefront-primary, #166534);
}

.storefront-site .focus\:ring-green-700:focus,
.storefront-site .focus\:ring-green-800:focus {
  --tw-ring-color: var(--storefront-primary, #166534);
}

.storefront-themed-card {
  background-color: var(--storefront-surface, #ffffff);
  color: var(--storefront-text, #111827);
}

.storefront-themed-card-copy {
  color: var(--storefront-text, #4b5563);
  opacity: 0.72;
}

.storefront-alliance-card {
  background-color: var(--storefront-surface, #ffffff);
}

.storefront-alliance-card-association {
  border-color: var(--storefront-secondary, #14532d);
  border-left-width: 4px;
}

.storefront-alliance-card-brand {
  border-color: var(--storefront-primary, #166534);
  border-left-width: 4px;
}

.storefront-primary-action {
  background-color: var(--storefront-primary, #166534);
}

.storefront-primary-action:hover {
  background-color: var(--storefront-secondary, #15803d);
}

.storefront-primary-action:focus {
  --tw-ring-color: var(--storefront-primary, #15803d);
}

.storefront-primary-text {
  color: var(--storefront-primary, #166534);
}

.storefront-accent-color {
  color: var(--storefront-primary, #166534);
  accent-color: var(--storefront-primary, #166534);
}

/* A separate narrow search row keeps storefront links and controls from competing. */
.storefront-member-search-compact {
  display: grid;
  grid-template-columns: minmax(14rem, 1fr) minmax(25rem, 1.4fr) auto;
  align-items: center;
  gap: 0.75rem;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}

.storefront-member-search-compact > div,
.storefront-member-search-compact > input[type="submit"] {
  margin-top: 0;
}

.storefront-member-search-compact .storefront-member-search-field {
  min-width: 0;
  padding: 0 0.75rem;
  border-right: 1px solid #e5e7eb;
}

.storefront-member-search-compact label {
  font-size: 0.75rem;
  font-weight: 400;
  color: #6b7280;
}

.storefront-member-search-compact input:not([type="submit"]),
.storefront-member-search-compact select {
  border: 0;
  border-radius: 0;
  padding: 0.25rem 0;
  background-color: transparent;
  font-weight: 600;
  box-shadow: none;
}

.storefront-member-search-compact select {
  padding-right: 1.5rem;
}

.storefront-member-search-compact input[type="submit"] {
  width: auto;
  border-radius: 9999px;
}

.storefront-member-search-compact [role="status"]:empty {
  display: none;
}
/* Shared photo selectors: preserve storefront color precedence and native inputs. */
.photo-upload-zone { border: 2px dashed var(--storefront-primary, #A7B8AC); border-radius: 0.75rem; padding: 1rem; }
.photo-upload-dragging { outline: 2px solid var(--storefront-primary, #0F2D1F); background-color: var(--storefront-background, #F0F4F1); }
.photo-upload-status { margin-top: 0.5rem; font-size: 0.875rem; color: var(--storefront-text, #5C6E61); overflow-wrap: anywhere; }
.photo-upload-error { color: #DC2626; }
[data-photo-upload-zone]:focus-within { outline: 2px solid var(--storefront-primary, #0F2D1F); outline-offset: 2px; }

.property-availability-action {
  background-color: var(--storefront-primary, #0F2D1F);
  color: var(--storefront-on-primary, #fff);
}

.property-availability-action:hover {
  background-color: var(--storefront-secondary, #1C4435);
}

.property-availability-action:active {
  background-color: var(--storefront-secondary, #081E15);
}

.property-availability-action:focus-visible {
  outline: 2px solid var(--storefront-primary, #081E15);
  outline-offset: 3px;
  --tw-ring-color: var(--storefront-primary, #081E15);
}

@media (max-width: 639px) {
  .property-page-tabs [data-property-actions] {
    gap: 0.25rem;
  }

  .property-page-tabs [data-property-actions] button {
    width: 2.75rem;
    padding-inline: 0;
  }

  .property-page-tabs [data-property-actions] button > span {
    display: none;
  }
}

.navigation-signup-action {
  background-color: var(--color-primary, #1C4435);
  transition: background-color 150ms ease, transform 150ms ease;
}

.navigation-signup-action:hover {
  background-color: var(--color-primary-hover, #0F2D1F);
}

.navigation-signup-action:focus-visible {
  background-color: var(--color-primary-focus, #081E15);
  outline: 2px solid var(--color-primary, #1C4435);
  outline-offset: 2px;
}

.navigation-signup-action:active {
  background-color: var(--color-primary-focus, #081E15);
  transform: translateY(1px);
}

@media (prefers-reduced-motion: reduce) {
  .navigation-signup-action {
    transition: none;
  }
}

.help-design-system :is(a, button):focus-visible {
  outline: 2px solid var(--color-primary, #1C4435);
  outline-offset: 3px;
  border-radius: 0.5rem;
}

.help-design-system .prose {
  --tw-prose-body: var(--color-secondary, #5C6E61);
  --tw-prose-headings: var(--color-primary, #1C4435);
  --tw-prose-links: var(--color-primary, #1C4435);
  --tw-prose-bold: var(--color-primary, #1C4435);
  --tw-prose-quotes: var(--color-secondary, #5C6E61);
  --tw-prose-quote-borders: var(--color-line, #A7B8AC);
  --tw-prose-hr: var(--color-surface-muted, #E3EBE4);
}

.help-design-system .prose :is(h1, h2, h3, h4) {
  font-family: 'Lora', ui-serif, Georgia, serif;
}

.help-design-system .prose a:hover {
  color: var(--color-primary-hover, #0F2D1F);
}

/* Source CSV uploads retain native filename feedback with an explicit, keyboard-visible control. */
.pms-csv-upload {
  min-height: 48px;
  border: 1px solid #94a3b8;
  border-radius: 8px;
  background: #f8fafc;
  color: #0f2d1f;
  padding: 8px;
  font-size: 14px;
}
.pms-csv-upload::file-selector-button {
  margin-right: 12px;
  border: 1px solid #0f2d1f;
  border-radius: 6px;
  background: #0f2d1f;
  color: white;
  padding: 8px 12px;
  font-weight: 600;
  cursor: pointer;
}
.pms-csv-upload:hover::file-selector-button { background: #1f4731; }
.pms-csv-upload:focus-visible { outline: 2px solid #15803d; outline-offset: 3px; }
