@layer reset, custom;

@layer reset {
  *,
  :before,
  :after {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: #e5e7eb;
  }
  :before,
  :after {
    --tw-content: "";
  }
  html,
  :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji";
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent;
  }
  body {
    margin: 0;
    line-height: inherit;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    text-decoration: inherit;
  }
  b,
  strong {
    font-weight: bolder;
  }
  code,
  kbd,
  samp,
  pre {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
      Liberation Mono, Courier New, monospace;
    font-feature-settings: normal;
    font-variation-settings: normal;
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  button,
  input,
  optgroup,
  select,
  textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    margin: 0;
    padding: 0;
  }
  button,
  select {
    text-transform: none;
  }
  button,
  input:where([type="button"]),
  input:where([type="reset"]),
  input:where([type="submit"]) {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none;
  }
  :-moz-focusring {
    outline: auto;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  progress {
    vertical-align: baseline;
  }
  ::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto;
  }
  [type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
  }
  summary {
    display: list-item;
  }
  blockquote,
  dl,
  dd,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  hr,
  figure,
  p,
  pre {
    margin: 0;
  }
  fieldset {
    margin: 0;
    padding: 0;
  }
  legend {
    padding: 0;
  }
  ol,
  ul,
  menu {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  dialog {
    padding: 0;
  }
  textarea {
    resize: vertical;
  }
  input::-moz-placeholder,
  textarea::-moz-placeholder {
    opacity: 1;
    color: #9ca3af;
  }
  input::placeholder,
  textarea::placeholder {
    opacity: 1;
    color: #9ca3af;
  }
  button,
  [role="button"] {
    cursor: pointer;
  }
  :disabled {
    cursor: default;
  }
  img,
  svg,
  video,
  canvas,
  audio,
  iframe,
  embed,
  object {
    display: block;
    vertical-align: middle;
  }
  img,
  video {
    max-width: 100%;
    height: auto;
  }
  [hidden] {
    display: none;
  }
}

@layer custom {
  :root {
    --color-happyfeet-primary: #073e19;
    --color-happyfeet-background: #ecfae3;
  }

  body {
    background-color: var(--color-happyfeet-background);
    padding: 2rem 3.5rem;
    font-family: ui-sans-serif, system-ui, sans-serif;
  }

  .grid-layout {
    display: grid;
    grid-template-columns: 1fr min(80ch, 100%) 1fr;
    row-gap: 3.5rem;
  }

  .col-bleed-center {
    grid-column: 2;
  }

  /* Header section */
  .header {
    display: flex;
    width: 100%;
    justify-content: space-between;
    flex-direction: column;
    gap: 1rem;
  }

  .header img {
    width: fit-content;
  }

  .header a {
    color: var(--color-happyfeet-primary);
    font-size: 1rem;
    white-space: pre-wrap;
  }

  /* Main content section */
  .content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    font-size: 1.25rem;

    & a {
      font-size: 1rem;
      text-decoration: underline;
      text-decoration-thickness: 1.5px;
      text-underline-offset: 0.2rem;
      color: var(--color-happyfeet-primary);
    }
  }

  .content h2 {
    color: var(--color-happyfeet-primary);
  }

  .content ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .content ul li {
    background-image: url("/assets/images/bullet.svg");
    background-repeat: no-repeat;
    background-position: left 0.5em;
    background-size: 1rem;
    padding-left: 1.75rem; /* Increased from 1.5rem to add more spacing */
    margin-bottom: 0.5rem;
  }

  /* Footer section */
  .footer {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem;
  }

  .footer img {
    width: fit-content;
  }

  .footer .links {
    display: flex;
    flex-direction: column;
    color: var(--color-happyfeet-primary);
    font-size: 1rem;
  }

  /* Call-to-action button */
  .cta-button {
    display: flex;
    background-color: rgba(255, 255, 255, 0.5);
    border: 1px solid rgba(7, 62, 25, 0.5);
    color: var(--color-happyfeet-primary);
    border-radius: 0.5rem;
    padding: 0.5rem 1rem;
    font-size: 1.25rem;
    justify-content: center;
    position: sticky;
    bottom: 0.75rem;
    backdrop-filter: blur(8px);
  }

  .cta-button .contact-name {
    display: none;
  }

  .cta-button .contact-number {
    font-weight: 700;
    display: flex;
    gap: 0.5rem;
    align-items: center;
  }

  /* Media queries for responsive design */
  @media (min-width: 768px) {
    .header {
      flex-direction: row;
      align-items: flex-end;
    }

    .header a {
      text-align: right;
    }

    .footer {
      flex-direction: row;
    }

    .footer .links {
      text-align: right;
    }

    .cta-button {
      justify-content: space-between;
    }

    .cta-button .contact-name {
      display: block;
    }
  }
}
