/* Minimal Webflow Sandbox - Surgical reset for Tailwind components */
[data-tw-sandbox],
[data-tw-sandbox] *:not(svg):not(path):not(circle):not(rect):not(line):not(polyline):not(polygon):not(ellipse):not(g):not(a):not(button),
[data-tw-sandbox]::before,
[data-tw-sandbox]::after,
[data-tw-sandbox] *::before,
[data-tw-sandbox] *::after {
  /* Reset critical properties that Webflow overrides */
  all: unset;
  display: revert;
  box-sizing: border-box;
}

/* Special handling for links and buttons - less aggressive reset */
[data-tw-sandbox] a,
[data-tw-sandbox] button {
  all: unset;
  display: revert;
  box-sizing: border-box;
  cursor: pointer !important;
}

/* SVG elements need explicit properties instead of revert */
[data-tw-sandbox] svg {
  display: inline-block;
  width: auto;
  height: auto;
  vertical-align: middle;
}

[data-tw-sandbox] svg * {
  /* SVG child elements should inherit normal properties */
  display: inline;
}

/* Preserve block-level display for common elements */
[data-tw-sandbox] div,
[data-tw-sandbox] section,
[data-tw-sandbox] article,
[data-tw-sandbox] header,
[data-tw-sandbox] footer,
[data-tw-sandbox] main,
[data-tw-sandbox] fieldset {
  display: block;
}

/* Preserve inline display for text elements */
[data-tw-sandbox] span,
[data-tw-sandbox] a,
[data-tw-sandbox] em,
[data-tw-sandbox] strong,
[data-tw-sandbox] label {
  display: inline;
}


/* Fix flexbox containers */
[data-tw-sandbox] .flex {
  display: flex !important;
}

[data-tw-sandbox] .grid {
  display: grid !important;
}

[data-tw-sandbox] .hidden {
  display: none !important;
}

[data-tw-sandbox] .block {
  display: block !important;
}

[data-tw-sandbox] .inline-block {
  display: inline-block !important;
}

[data-tw-sandbox] .inline-flex {
  display: inline-flex !important;
}

/* Critical form element fixes */
[data-tw-sandbox] input[type="radio"],
[data-tw-sandbox] input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
}

[data-tw-sandbox] button {
  background: none;
  border: none;
  cursor: pointer;
}

/* Ensure labels work as flex containers when needed */
[data-tw-sandbox] label.flex {
  display: flex !important;
}

[data-tw-sandbox] label.group {
  display: flex !important;
}

/* Fix table elements */
[data-tw-sandbox] table {
  display: table !important;
}

[data-tw-sandbox] thead {
  display: table-header-group !important;
}

[data-tw-sandbox] tbody {
  display: table-row-group !important;
}

[data-tw-sandbox] tfoot {
  display: table-footer-group !important;
}

[data-tw-sandbox] tr {
  display: table-row !important;
}

[data-tw-sandbox] th,
[data-tw-sandbox] td {
  display: table-cell !important;
}

[data-tw-sandbox] caption {
  display: table-caption !important;
}

[data-tw-sandbox] colgroup {
  display: table-column-group !important;
}

[data-tw-sandbox] col {
  display: table-column !important;
}
