/* Collins IP Law — trademark name screen. All rules scoped to .cip-tms. */

.cip-tms {
  --tms-klein: #002FA6;
  --tms-navy: #001A5E;
  --tms-copper: #B5501A;
  --tms-peach: #F2C9A0;
  --tms-white: #FAFAF7;
  --tms-ink: #1d2433;
  --tms-muted: #5b6275;
  --tms-rule: #d9dbe3;
  --tms-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --tms-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;

  box-sizing: border-box;
  max-width: 46rem;
  margin: 0 auto;
  padding: clamp(2rem, 6vw, 4.5rem) 1.25rem 4rem;
  color: var(--tms-ink);
  font-family: var(--tms-sans);
  font-size: 1.0625rem;
  line-height: 1.6;
}
.cip-tms *, .cip-tms *::before, .cip-tms *::after { box-sizing: inherit; }

/* Intro */
.cip-tms .cip-tms__title {
  margin: 0 0 .75rem;
  font-family: var(--tms-serif);
  font-weight: 700;
  font-size: clamp(2rem, 4.5vw, 2.75rem);
  line-height: 1.15;
  color: var(--tms-navy);
}
.cip-tms .cip-tms__lede { margin: 0 0 2.5rem; max-width: 38rem; color: var(--tms-muted); }

/* Form */
.cip-tms .cip-tms__field { margin-bottom: 1.75rem; }
.cip-tms .cip-tms__field label {
  display: block;
  margin-bottom: .35rem;
  font-weight: 600;
  font-size: .9375rem;
  color: var(--tms-navy);
}
.cip-tms .cip-tms__field input,
.cip-tms .cip-tms__field textarea {
  width: 100%;
  margin: 0;
  border: 0;
  border-bottom: 2px solid var(--tms-rule);
  border-radius: 0;
  background: transparent;
  color: var(--tms-ink);
  font-family: var(--tms-sans);
  font-size: 1.0625rem;
  line-height: 1.5;
  padding: .4rem 0;
  box-shadow: none;
  resize: vertical;
}
/* The name is set like type: the one bold element on the page. */
.cip-tms .cip-tms__field--name input {
  font-family: var(--tms-serif);
  font-size: clamp(2.25rem, 7vw, 3.75rem);
  font-weight: 700;
  line-height: 1.1;
  color: var(--tms-klein);
  border-bottom-width: 3px;
  padding: .15rem 0 .3rem;
}
.cip-tms .cip-tms__field--name input::placeholder { color: #c6cbd8; font-weight: 400; }
.cip-tms .cip-tms__field input:focus,
.cip-tms .cip-tms__field textarea:focus {
  outline: none;
  border-bottom-color: var(--tms-klein);
}
.cip-tms .cip-tms__field input:focus-visible,
.cip-tms .cip-tms__field textarea:focus-visible {
  box-shadow: 0 2px 0 0 var(--tms-klein);
}

.cip-tms .cip-tms__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.cip-tms .cip-tms__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; }
.cip-tms .cip-tms__note { margin: 0; font-size: .875rem; color: var(--tms-muted); }

.cip-tms .cip-tms__button {
  display: inline-block;
  border: 0;
  border-radius: 3px;
  background: var(--tms-klein);
  color: #fff;
  font-family: var(--tms-sans);
  font-weight: 600;
  font-size: 1rem;
  line-height: 1;
  padding: .95rem 1.5rem;
  text-decoration: none;
  cursor: pointer;
}
.cip-tms .cip-tms__button:hover { background: var(--tms-navy); color: #fff; }
.cip-tms .cip-tms__button:focus-visible,
.cip-tms a:focus-visible { outline: 3px solid var(--tms-copper); outline-offset: 3px; }
.cip-tms .cip-tms__button[disabled] { opacity: .65; cursor: progress; }

.cip-tms .cip-tms__error {
  margin: 1rem 0 0;
  padding: .75rem 1rem;
  border-left: 3px solid var(--tms-copper);
  background: #fbefe6;
  color: #7a3510;
  font-size: .9375rem;
}

/* Disclaimer */
.cip-tms .cip-tms__disclaimer {
  margin: 2.5rem 0 0;
  padding-top: 1.25rem;
  border-top: 1px solid var(--tms-rule);
  font-size: .875rem;
  line-height: 1.55;
  color: var(--tms-muted);
}
.cip-tms .cip-tms__disclaimer p { margin: 0 0 .6rem; }
.cip-tms .cip-tms__disclaimer strong { color: var(--tms-ink); }
.cip-tms .cip-tms__disclaimer a { color: var(--tms-klein); }

/* Loading */
.cip-tms .cip-tms__status { margin: 2.5rem 0 0; }
.cip-tms .cip-tms__progress { height: 3px; background: var(--tms-rule); overflow: hidden; }
.cip-tms .cip-tms__progress span {
  display: block; width: 35%; height: 100%;
  background: var(--tms-klein);
  animation: cip-tms-slide 1.4s ease-in-out infinite;
}
.cip-tms .cip-tms__status-text { margin: .75rem 0 0; color: var(--tms-muted); }
.cip-tms .cip-tms__status-name { font-family: var(--tms-serif); font-weight: 700; color: var(--tms-klein); }
@keyframes cip-tms-slide { from { transform: translateX(-100%); } to { transform: translateX(290%); } }
@media (prefers-reduced-motion: reduce) {
  .cip-tms .cip-tms__progress span { animation: none; width: 100%; opacity: .5; }
}

/* Results header */
.cip-tms .cip-tms__results { margin-top: 3rem; }
.cip-tms .cip-tms__rhead { padding-bottom: 1.5rem; border-bottom: 1px solid var(--tms-rule); }
.cip-tms .cip-tms__rname {
  margin: 0;
  font-family: var(--tms-serif);
  font-size: clamp(2rem, 6vw, 3.25rem);
  line-height: 1.1;
  color: var(--tms-navy);
  overflow-wrap: anywhere;
}
.cip-tms .cip-tms__rname:focus { outline: none; }
.cip-tms .cip-tms__rgoods { margin: .35rem 0 1.25rem; color: var(--tms-muted); }
.cip-tms .cip-tms__rlevel {
  display: inline-block;
  margin: 0 0 .75rem;
  padding: .3rem .7rem;
  border-radius: 3px;
  font-weight: 600;
  font-size: .9375rem;
}
.cip-tms .cip-tms__rhead--low .cip-tms__rlevel { background: #e8eef9; color: var(--tms-navy); }
.cip-tms .cip-tms__rhead--moderate .cip-tms__rlevel { background: var(--tms-peach); color: #5c2808; }
.cip-tms .cip-tms__rhead--high .cip-tms__rlevel { background: var(--tms-copper); color: #fff; }
.cip-tms .cip-tms__rsummary { margin: 0 0 .75rem; max-width: 40rem; }
.cip-tms .cip-tms__rmeta { margin: 0; font-size: .875rem; color: var(--tms-muted); }
.cip-tms .cip-tms__empty { margin: 1.5rem 0; }

/* Groups */
.cip-tms .cip-tms__group { margin-top: 2.25rem; }
.cip-tms .cip-tms__ghead { margin-bottom: .75rem; }
.cip-tms .cip-tms__gtitle {
  margin: 0;
  font-family: var(--tms-sans);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--tms-navy);
}
.cip-tms .cip-tms__ghint { margin: .15rem 0 0; font-size: .875rem; color: var(--tms-muted); }

.cip-tms .cip-tms__list { list-style: none; margin: 0; padding: 0; }
.cip-tms .cip-tms__item {
  margin: 0;
  padding: 1rem 0 1rem 1.1rem;
  border-left: 3px solid var(--tms-rule);
  border-bottom: 1px solid var(--tms-rule);
}
.cip-tms .cip-tms__group--high .cip-tms__item { border-left-color: var(--tms-copper); }
.cip-tms .cip-tms__group--medium .cip-tms__item { border-left-color: var(--tms-klein); }
.cip-tms .cip-tms__domain { margin: 0; font-size: .8125rem; color: var(--tms-muted); overflow-wrap: anywhere; }
.cip-tms .cip-tms__ititle {
  display: inline-block;
  margin: .1rem 0 .3rem;
  font-weight: 600;
  color: var(--tms-klein);
  text-decoration: underline;
  text-underline-offset: 2px;
  overflow-wrap: anywhere;
}
.cip-tms .cip-tms__snippet { margin: 0 0 .4rem; font-size: .9375rem; color: var(--tms-ink); }
.cip-tms .cip-tms__reason { margin: 0; font-size: .875rem; color: var(--tms-muted); font-style: italic; }

/* Call to action */
.cip-tms .cip-tms__cta {
  margin-top: 3rem;
  padding: 1.75rem;
  background: var(--tms-navy);
  color: #e8eef9;
  border-radius: 4px;
}
.cip-tms .cip-tms__ctitle {
  margin: 0 0 .5rem;
  font-family: var(--tms-serif);
  font-size: 1.5rem;
  line-height: 1.25;
  color: #fff;
}
.cip-tms .cip-tms__cta p { margin: 0 0 1.25rem; max-width: 36rem; }
.cip-tms .cip-tms__cactions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; }
.cip-tms .cip-tms__cta .cip-tms__button { background: var(--tms-peach); color: var(--tms-navy); }
.cip-tms .cip-tms__cta .cip-tms__button:hover { background: #fff; color: var(--tms-navy); }
.cip-tms .cip-tms__textlink { color: #fff; text-underline-offset: 3px; }
.cip-tms .cip-tms__textlink:hover { color: var(--tms-peach); }

/* Placeholders: smaller than typed text, kept on one line. */
.cip-tms .cip-tms__field input::placeholder,
.cip-tms .cip-tms__field textarea::placeholder { font-size: .875rem; }
.cip-tms .cip-tms__field textarea { white-space: nowrap; overflow-x: hidden; }

/* Where we searched */
.cip-tms .cip-tms__coverage { margin: .5rem 0 0; font-size: .8125rem; line-height: 1.6; color: var(--tms-muted); }
.cip-tms .cip-tms__coverage strong { color: var(--tms-navy); }
/* Source label on each match */
.cip-tms .cip-tms__src { display: inline-block; margin-left: .5rem; padding: .05rem .45rem; border-radius: 999px; background: #e8eef9; color: var(--tms-navy); font-size: .6875rem; font-weight: 600; letter-spacing: .02em; vertical-align: 1px; }
/* Checklist while searching */
.cip-tms .cip-tms__checks { list-style: none; margin: .75rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: .35rem 1.5rem; font-size: .875rem; color: var(--tms-ink); }
.cip-tms .cip-tms__checks li { padding-left: 1.1rem; position: relative; }
.cip-tms .cip-tms__checks li::before { content: ""; position: absolute; left: 0; top: .5em; width: .5rem; height: .5rem; border-radius: 50%; background: var(--tms-klein); animation: cip-tms-pulse 1.2s ease-in-out infinite; }
.cip-tms .cip-tms__checking { color: var(--tms-muted); }
@keyframes cip-tms-pulse { 0%, 100% { opacity: .3; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .cip-tms .cip-tms__checks li::before { animation: none; } }
