.cdd-wrap {
    --cdd-pink: #FF1C8C;
    --cdd-teal: #00CBE0;
    --cdd-orange: #FF8C00;
    --cdd-lime: #9ADB00;
    --cdd-soft-pink: #FFF0F8;
    --cdd-soft-teal: #EAFBFD;
    --cdd-soft-orange: #FFF4E8;
    --cdd-soft-lime: #F4FBE8;
    --cdd-ink: #363636;
    --cdd-muted: #707070;
    --cdd-bg: #fff8fc;
    --cdd-card: #ffffff;
    --cdd-border: #eadde8;
    max-width: 1180px;
    margin: 0 auto;
    padding: 1rem;
    color: var(--cdd-ink);
    font-family: inherit;
  }
  .cdd-wrap * { box-sizing: border-box; }
  .cdd-hero {
    text-align: center;
    padding: clamp(2rem, 6vw, 4rem) 1.25rem;
    border-radius: 28px;
    background:
      radial-gradient(circle at top left, rgba(19,185,201,.22), transparent 34%),
      radial-gradient(circle at bottom right, rgba(243,90,166,.20), transparent 34%),
      linear-gradient(135deg, #ffffff, var(--cdd-bg));
    border: 2px solid var(--cdd-border);
    box-shadow: 0 18px 45px rgba(37,49,59,.08);
  }
  .cdd-kicker { margin: 0 0 .7rem; font-weight: 700; color: var(--cdd-teal); text-transform: uppercase; letter-spacing: .06em; font-size: .85rem; }
  .cdd-hero h1 { margin: 0; font-size: clamp(2rem, 7vw, 4.2rem); line-height: 1; color: var(--cdd-ink); }
  .cdd-subtitle { margin: 1rem auto .3rem; max-width: 760px; font-size: clamp(1.05rem, 2.3vw, 1.45rem); font-weight: 700; }
  .cdd-subline { margin: 0 auto 1.3rem; font-size: 1.1rem; color: var(--cdd-muted); font-style: italic; }
  .cdd-actions, .cdd-filter-row { display: flex; gap: .7rem; justify-content: center; flex-wrap: wrap; }
  .cdd-button, .cdd-chip {
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 999px; min-height: 42px; padding: .72rem 1.05rem;
    font-weight: 800; text-decoration: none; cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  .cdd-button:hover, .cdd-chip:hover { transform: translateY(-1px); }
  .cdd-button-primary { color: #fff !important; background: var(--cdd-pink); box-shadow: 0 8px 18px rgba(243,90,166,.28); }
  .cdd-button-secondary { color: var(--cdd-ink) !important; background: #fff; border: 2px solid var(--cdd-teal); }
  .cdd-info-box, .cdd-hildy-box, .cdd-toolbar, .cdd-footer-cta {
    margin: 1.25rem 0; padding: 1.25rem; border-radius: 22px;
    background: #fff; border: 1px solid var(--cdd-border);
    box-shadow: 0 10px 30px rgba(37,49,59,.05);
  }
  .cdd-info-box h2, .cdd-hildy-box h2, .cdd-footer-cta h2 { margin: 0 0 .5rem; font-size: 1.45rem; }
  .cdd-info-box p, .cdd-hildy-box p, .cdd-footer-cta p { margin: .45rem 0; color: var(--cdd-muted); }
  .cdd-hildy-box {
    display: block;
    width: 100%;
    clear: both;
    background: linear-gradient(135deg, #fffdf8, #fff8fc);
    border-left: 7px solid var(--cdd-orange);
  }
  .cdd-hildy-box > * {
    width: auto;
    max-width: 100%;
  }
  .cdd-hildy-icon {
    width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center;
    font-size: 2rem; background: #fff; border: 2px solid var(--cdd-border);
    box-shadow: 0 8px 18px rgba(37,49,59,.08);
  }
  .cdd-hildy-kicker {
    margin: 0 0 .25rem !important; color: var(--cdd-orange) !important;
    text-transform: uppercase; letter-spacing: .07em; font-size: .8rem; font-weight: 900;
  }
  .cdd-hildy-signoff { margin-top: .8rem !important; color: var(--cdd-ink) !important; }
  .cdd-search-label { display: block; font-weight: 900; margin-bottom: .45rem; }
  .cdd-search-form { margin: 0; }
  .cdd-search-row { display: flex; gap: .65rem; align-items: stretch; }
  .cdd-search-input {
    flex: 1 1 auto; min-width: 0; border: 2px solid var(--cdd-border); border-radius: 18px;
    padding: 1rem 1.1rem; font: inherit; font-size: 1rem; outline: none; background: #fff;
  }
  .cdd-search-input:focus { border-color: var(--cdd-teal); box-shadow: 0 0 0 4px rgba(19,185,201,.15); }
  .cdd-search-button {
    flex: 0 0 auto; border: 0; border-radius: 18px; padding: .85rem 1.35rem;
    background: var(--cdd-pink); color: #fff; font: inherit; font-weight: 900; cursor: pointer;
    box-shadow: 0 8px 18px rgba(243,90,166,.25);
  }
  .cdd-search-button:hover { transform: translateY(-1px); }
  .cdd-filter-row { justify-content: flex-start; margin-top: .85rem; }
  .cdd-chip { border: 0; color: var(--cdd-ink); background: #f4fbfc; border: 1px solid rgba(19,185,201,.25); font-size: .9rem; }
  .cdd-chip.is-active { background: var(--cdd-teal); color: var(--cdd-ink); }
  .cdd-clear { background: #fff7ef; border-color: rgba(255,138,42,.35); }
  .cdd-results-count { margin: .85rem 0 0; color: var(--cdd-muted); font-weight: 700; }
  .cdd-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
  .cdd-card {
    min-height: 0; border-radius: 24px; background: var(--cdd-card);
    border: 1px solid var(--cdd-border); box-shadow: 0 12px 28px rgba(37,49,59,.07);
    position: relative; overflow: hidden;
  }
  .cdd-card::before { content: ""; position: absolute; z-index: 2; inset: 0 0 auto 0; height: 7px; background: linear-gradient(90deg, var(--cdd-pink), var(--cdd-teal), var(--cdd-orange), var(--cdd-lime)); }
  .cdd-card summary { list-style: none; cursor: pointer; padding: 1.1rem; outline: none; }
  .cdd-card summary::-webkit-details-marker { display: none; }
  .cdd-card summary:focus-visible { box-shadow: inset 0 0 0 4px rgba(19,185,201,.22); }
  .cdd-card h3 { margin: .3rem 0 0; line-height: 1.12; font-size: 1.35rem; }
  .cdd-designer { margin: .18rem 0 0; color: var(--cdd-muted); font-weight: 700; }
  .cdd-desc { color: var(--cdd-ink); line-height: 1.45; margin: .72rem 0 0; }
  .cdd-expand-hint { display: inline-flex; align-items: center; gap: .35rem; margin-top: .85rem; color: var(--cdd-teal); font-size: .88rem; font-weight: 900; }
  .cdd-expand-hint::after { content: "＋"; font-size: 1.05rem; }
  .cdd-card[open] .cdd-expand-hint::after { content: "−"; }
  .cdd-card-details { display: flex; flex-direction: column; gap: .9rem; padding: 0 1.1rem 1.1rem; border-top: 1px solid var(--cdd-border); }
  .cdd-card-details > div:first-child { padding-top: 1rem; }
  .cdd-full-description { color: var(--cdd-ink); line-height: 1.55; margin: 0; }
  .cdd-section-title { margin: .1rem 0 .35rem; font-size: .82rem; text-transform: uppercase; letter-spacing: .06em; color: var(--cdd-muted); font-weight: 900; }
  .cdd-tags, .cdd-links { display: flex; flex-wrap: wrap; gap: .42rem; }
  .cdd-tag { display: inline-flex; padding: .34rem .58rem; border-radius: 999px; background: #fff5fb; color: #7c2c58; border: 1px solid rgba(243,90,166,.20); font-size: .82rem; font-weight: 800; }
  .cdd-link { display: inline-flex; align-items: center; gap: .32rem; padding: .48rem .65rem; border-radius: 999px; background: #f5fcfd; color: var(--cdd-ink) !important; border: 1px solid rgba(19,185,201,.22); font-weight: 800; text-decoration: none; font-size: .9rem; }
  .cdd-link:hover { background: #eaf9fb; }
  .cdd-empty, .cdd-error { padding: 1.2rem; border-radius: 18px; background: #fff7ef; border: 1px solid rgba(255,138,42,.32); color: var(--cdd-ink); font-weight: 700; }
  .cdd-footer-cta { text-align: center; margin-top: 1.5rem; }
  .cdd-version { margin-top: 1rem !important; font-size: .9rem; }
  @media (max-width: 900px) { .cdd-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 640px) {
    .cdd-wrap { padding: .5rem; }
    .cdd-grid { grid-template-columns: 1fr; }
    .cdd-hero, .cdd-info-box, .cdd-hildy-box, .cdd-toolbar, .cdd-footer-cta { border-radius: 18px; }
    .cdd-actions .cdd-button { width: 100%; }
    .cdd-search-row { flex-direction: column; }
    .cdd-search-button { width: 100%; min-height: 48px; }
    .cdd-filter-row { overflow-x: auto; flex-wrap: nowrap; justify-content: flex-start; padding-bottom: .25rem; }
    .cdd-chip { white-space: nowrap; }
  }
.cdd-hildy-box{margin:1.25rem 0;padding:1.35rem;border-radius:22px;background:linear-gradient(135deg,#fff,#fff8fc);border:1px solid var(--cdd-border);box-shadow:0 10px 30px rgba(37,49,59,.05)}
.cdd-hildy-title{font-size:1.35rem;font-weight:900;margin-bottom:.65rem}.cdd-hildy-box p{margin:.55rem 0;line-height:1.55}.cdd-hildy-signoff{text-align:right}.cdd-version{margin-top:1.2rem!important;padding-top:1rem;border-top:1px solid var(--cdd-border)}

/* Version 1.0.4 framed directory header */
.cdd-hero-framed {
  position: relative;
  overflow: hidden;
  padding: clamp(2.25rem, 6vw, 4.5rem) clamp(1.15rem, 4vw, 3rem);
  border: 6px solid transparent;
  background:
    linear-gradient(135deg, #fffdf4 0%, #fff9ef 48%, #fffdf8 100%) padding-box,
    linear-gradient(90deg, #f35aa6, #ff8a2a, #f2d95c, #94c83d, #13b9c9, #7d67d7, #f35aa6) border-box;
  box-shadow: 0 18px 45px rgba(37,49,59,.10), inset 0 0 0 1px rgba(255,255,255,.85);
}
.cdd-hero-framed::after {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(243,90,166,.20);
  border-radius: 20px;
  pointer-events: none;
}
.cdd-hero-framed > * { position: relative; z-index: 1; }
.cdd-hero-framed .cdd-kicker { color: var(--cdd-teal); }
.cdd-hero-framed h1 {
  max-width: 900px;
  margin-inline: auto;
  color: #43295d;
  letter-spacing: -.025em;
}
.cdd-hero-primary {
  margin: .85rem auto .25rem;
  color: #d93f8e;
  font-style: normal;
  font-size: clamp(1.15rem, 2.5vw, 1.55rem);
  font-weight: 900;
}
.cdd-hero-framed .cdd-subtitle {
  margin: .25rem auto 0;
  color: var(--cdd-muted);
  font-weight: 700;
}
.cdd-hero-divider {
  width: min(560px, 82%);
  height: 2px;
  margin: 1.45rem auto 1.25rem;
  background: linear-gradient(90deg, transparent, rgba(243,90,166,.35), rgba(19,185,201,.35), transparent);
}
.cdd-guide-line {
  max-width: 760px;
  margin: 0 auto .7rem;
  color: #43295d;
  font-size: clamp(1.15rem, 2.35vw, 1.55rem);
  line-height: 1.35;
}
.cdd-guide-copy {
  max-width: 780px;
  margin: 0 auto 1.45rem;
  color: #5d5068;
  font-size: clamp(1rem, 1.8vw, 1.18rem);
  line-height: 1.6;
}
.cdd-sparkle {
  position: absolute !important;
  z-index: 0 !important;
  opacity: .45;
  font-weight: 900;
  pointer-events: none;
}
.cdd-sparkle-one { top: 22px; left: 34px; color: var(--cdd-teal); font-size: 1.5rem; }
.cdd-sparkle-two { top: 38px; right: 42px; color: var(--cdd-pink); font-size: 1.65rem; }
.cdd-sparkle-three { bottom: 30px; left: 8%; color: var(--cdd-orange); font-size: 1.35rem; }
@media (max-width: 640px) {
  .cdd-hero-framed { border-width: 4px; padding: 2rem 1rem; }
  .cdd-hero-framed::after { inset: 8px; border-radius: 14px; }
  .cdd-sparkle-one { left: 18px; top: 16px; }
  .cdd-sparkle-two { right: 18px; top: 20px; }
  .cdd-sparkle-three { left: 18px; bottom: 20px; }
}

/* Version 1.0.5 compact guidebook header and colorful icon filters */
.cdd-hero-framed {
  padding: clamp(1.25rem, 3vw, 2.15rem) clamp(1rem, 3vw, 2.25rem);
  border-width: 6px;
  border-radius: 28px;
  background:
    linear-gradient(135deg, #fffdf5 0%, #fffaf0 52%, #fffdf8 100%) padding-box,
    linear-gradient(90deg, #ef2f7d 0%, #ff6b1a 17%, #f5c51c 31%, #75b82a 46%, #09aeb8 63%, #1687d9 80%, #7656c7 100%) border-box;
  box-shadow: 0 14px 34px rgba(37,49,59,.09), inset 0 0 0 1px rgba(255,255,255,.9);
}
.cdd-hero-framed::after {
  inset: 9px;
  border: 2px solid rgba(239,47,125,.22);
  border-radius: 18px;
}
.cdd-hero-framed h1 {
  margin: 0 auto;
  max-width: 980px;
  color: #22283b;
  font-size: clamp(2rem, 5vw, 3.75rem);
  line-height: 1.02;
  letter-spacing: -.035em;
}
.cdd-hero-framed .cdd-subtitle {
  margin: .55rem auto 0;
  max-width: 960px;
  color: #27303d;
  font-size: clamp(.98rem, 1.7vw, 1.24rem);
  line-height: 1.2;
  font-weight: 750;
}
.cdd-hero-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  width: min(720px, 84%);
  height: auto;
  margin: .8rem auto .65rem;
  color: #ef4d92;
  background: none;
}
.cdd-hero-divider::before,
.cdd-hero-divider::after {
  content: "";
  flex: 1;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(239,47,125,.65));
}
.cdd-hero-divider::after { background: linear-gradient(90deg, rgba(239,47,125,.65), transparent); }
.cdd-hero-divider span { font-size: 1rem; line-height: 1; }
.cdd-guide-line {
  max-width: 920px;
  margin: 0 auto .35rem;
  color: #33253b;
  font-family: "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive;
  font-size: clamp(1.12rem, 2.35vw, 1.62rem);
  line-height: 1.28;
  font-weight: 700;
}
.cdd-guide-copy {
  max-width: 900px;
  margin: 0 auto;
  color: #39404c;
  font-size: clamp(.96rem, 1.55vw, 1.12rem);
  line-height: 1.38;
}
.cdd-sparkle { opacity: .9; }
.cdd-sparkle-one { top: 18px; left: 38px; color: #ef2f7d; font-size: 1.8rem; }
.cdd-sparkle-two { top: 20px; right: 38px; color: #7656c7; font-size: 1.55rem; }
.cdd-sparkle-three { bottom: 20px; left: 7%; color: #09aeb8; font-size: 1rem; }

.cdd-filter-row { gap: .62rem; }
.cdd-chip {
  border: 0;
  color: #fff;
  padding: .68rem 1rem;
  min-height: 44px;
  box-shadow: 0 7px 16px rgba(37,49,59,.12);
  font-size: .92rem;
  font-weight: 900;
}
.cdd-chip-icon { display: inline-grid; place-items: center; margin-right: .42rem; font-size: 1rem; line-height: 1; }
.cdd-chip-pink { background: var(--cdd-soft-pink); border: 2px solid var(--cdd-pink); color: var(--cdd-ink); }
.cdd-chip-purple { background: var(--cdd-soft-lime); border: 2px solid var(--cdd-lime); color: var(--cdd-ink); }
.cdd-chip-orange { background: var(--cdd-soft-orange); border: 2px solid var(--cdd-orange); color: var(--cdd-ink); }
.cdd-chip-yellow { background: var(--cdd-soft-orange); border: 2px solid var(--cdd-orange); color: var(--cdd-ink); }
.cdd-chip-green { background: var(--cdd-soft-lime); border: 2px solid var(--cdd-lime); color: var(--cdd-ink); }
.cdd-chip-lime { background: var(--cdd-soft-lime); border: 2px solid var(--cdd-lime); color: var(--cdd-ink); }
.cdd-chip-teal { background: var(--cdd-soft-teal); border: 2px solid var(--cdd-teal); color: var(--cdd-ink); }
.cdd-chip-coral { background: var(--cdd-soft-pink); border: 2px solid var(--cdd-pink); color: var(--cdd-ink); }
.cdd-chip-blue { background: var(--cdd-soft-teal); border: 2px solid var(--cdd-teal); color: var(--cdd-ink); }

/* Active state: bold solid fill of the chip's OWN color (not a generic
   override), so the soft/bold contrast reads as "available" vs "selected" */
.cdd-chip.cdd-chip-pink.is-active,
.cdd-chip.cdd-chip-coral.is-active { background: var(--cdd-pink); color: #fff; border-color: var(--cdd-pink); }
.cdd-chip.cdd-chip-purple.is-active,
.cdd-chip.cdd-chip-green.is-active,
.cdd-chip.cdd-chip-lime.is-active { background: var(--cdd-lime); color: var(--cdd-ink); border-color: var(--cdd-lime); }
.cdd-chip.cdd-chip-orange.is-active,
.cdd-chip.cdd-chip-yellow.is-active { background: var(--cdd-orange); color: #fff; border-color: var(--cdd-orange); }
.cdd-chip.cdd-chip-teal.is-active,
.cdd-chip.cdd-chip-blue.is-active { background: var(--cdd-teal); color: var(--cdd-ink); border-color: var(--cdd-teal); }
.cdd-chip.cdd-clear { background: #fff; color:#4c5664; border:2px solid #d9dee5; box-shadow:none; }
.cdd-chip.is-active { outline: 4px solid rgba(37,49,59,.13); outline-offset: 2px; filter: saturate(1.08) brightness(.96); }

@media (max-width: 640px) {
  .cdd-hero-framed { padding: 1.25rem .85rem 1.35rem; border-width: 4px; }
  .cdd-hero-framed::after { inset: 7px; }
  .cdd-hero-framed h1 { font-size: clamp(1.85rem, 10vw, 2.65rem); }
  .cdd-hero-framed .cdd-subtitle { max-width: 310px; line-height: 1.15; }
  .cdd-guide-line { font-size: 1.08rem; }
  .cdd-guide-copy { font-size: .94rem; line-height: 1.32; }
  .cdd-sparkle-one { left: 16px; top: 12px; font-size: 1.25rem; }
  .cdd-sparkle-two { right: 16px; top: 13px; font-size: 1.15rem; }
  .cdd-sparkle-three { display:none; }
  .cdd-chip { min-height: 42px; padding: .62rem .88rem; }
}


/* Version 1.0.6: hide quick category buttons on phones */
@media (max-width: 640px) {
  .cdd-filter-row { display: none !important; }
}

/* Version 1.0.7: common tag bubbles and multi-tag search */
.cdd-search-help {
  margin: 0 0 .75rem;
  color: var(--cdd-muted);
  font-size: .98rem;
  line-height: 1.45;
}
.cdd-filter-row {
  gap: .42rem;
  margin-top: .72rem;
}
.cdd-chip {
  min-height: 34px;
  padding: .42rem .68rem;
  font-size: .78rem;
  line-height: 1;
  box-shadow: 0 4px 10px rgba(37,49,59,.10);
}
.cdd-chip-icon {
  margin-right: .3rem;
  font-size: .85rem;
}
.cdd-chip.is-active {
  outline: 3px solid rgba(37,49,59,.16);
  outline-offset: 1px;
}
@media (max-width: 640px) {
  .cdd-filter-row { display: none !important; }
  .cdd-search-help { font-size: .92rem; }
}

/* Version 1.1.0: Snappy wooden-sign directory header */
.cdd-sign-hero {
  position: relative;
  margin: 0 0 1.15rem;
  padding: 1.4rem 1.1rem 0;
  text-align: center;
  isolation: isolate;
}
.cdd-sign-main {
  position: relative;
  overflow: visible;
  margin: 0 auto;
  max-width: 1040px;
  padding: clamp(1.1rem, 2.5vw, 1.8rem) clamp(.8rem, 3vw, 2rem) clamp(1.6rem, 3vw, 2.2rem);
  border: 5px solid transparent;
  border-radius: 42px 42px 30px 30px;
  background:
    linear-gradient(#fffdf8,#fffaf1) padding-box,
    linear-gradient(90deg,#ef2f7d 0 17%,#ff7a1a 17% 34%,#f2c21a 34% 49%,#86bd27 49% 64%,#11adb9 64% 80%,#168bd2 80% 90%,#7c59ca 90%) border-box;
  box-shadow: 0 16px 34px rgba(37,49,59,.13);
}
.cdd-sign-main::before {
  content:"";
  position:absolute;
  z-index:-1;
  top:-42px;
  left:50%;
  width:min(66%,620px);
  height:95px;
  transform:translateX(-50%);
  border:5px solid transparent;
  border-bottom:0;
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
  background:
    linear-gradient(#fffdf8,#fffaf1) padding-box,
    linear-gradient(90deg,#ef2f7d,#ff7a1a,#f2c21a,#86bd27,#11adb9,#168bd2,#7c59ca) border-box;
}
.cdd-sign-heart { color:#ef2f7d; font-size:clamp(1.4rem,3vw,2.1rem); line-height:1; margin:.1rem 0 .1rem; }
.cdd-sign-title { display:flex; flex-direction:column; align-items:center; line-height:.84; }
.cdd-sign-crochet {
  display:block;
  color:#ef2f7d;
  font-family:"Brush Script MT","Segoe Script","Lucida Handwriting",cursive;
  font-size:clamp(3rem,8vw,6.3rem);
  font-weight:700;
  letter-spacing:-.035em;
  transform:rotate(-1deg);
  margin-bottom:.18rem;
}
.cdd-sign-designer,
.cdd-sign-directory {
  display:block;
  text-transform:uppercase;
  font-family:Impact,"Arial Black",sans-serif;
  font-size:clamp(2.35rem,7vw,5.5rem);
  letter-spacing:.025em;
  text-shadow:0 2px 0 rgba(255,255,255,.65);
}
.cdd-sign-designer { color:#0aa2ad; }
.cdd-sign-directory { color:#86bd15; margin-top:.12em; }
.cdd-sign-ribbon {
  position:relative;
  display:inline-block;
  margin:1.05rem auto .7rem;
  max-width:90%;
  padding:.62rem clamp(1.2rem,4vw,3rem);
  background:linear-gradient(135deg,#ef2f7d,#f35aa6);
  color:#fff;
  font-weight:900;
  font-size:clamp(.95rem,2.2vw,1.35rem);
  letter-spacing:.04em;
  text-transform:uppercase;
  border-radius:8px;
  box-shadow:0 8px 16px rgba(239,47,125,.23);
}
.cdd-sign-ribbon::before,.cdd-sign-ribbon::after {
  content:""; position:absolute; top:12px; z-index:-1; width:38px; height:calc(100% - 5px); background:#d92369;
}
.cdd-sign-ribbon::before { left:-24px; transform:skewY(12deg); }
.cdd-sign-ribbon::after { right:-24px; transform:skewY(-12deg); }
.cdd-sign-dots { display:flex; justify-content:center; gap:.42rem; margin:.25rem 0 .55rem; }
.cdd-sign-dots span { width:8px; height:8px; border-radius:50%; display:block; }
.cdd-sign-dots span:nth-child(1),.cdd-sign-dots span:nth-child(7){background:#ef2f7d}.cdd-sign-dots span:nth-child(2),.cdd-sign-dots span:nth-child(8){background:#11adb9}.cdd-sign-dots span:nth-child(3){background:#86bd27}.cdd-sign-dots span:nth-child(4),.cdd-sign-dots span:nth-child(9){background:#ff7a1a}.cdd-sign-dots span:nth-child(5){background:#7c59ca}.cdd-sign-dots span:nth-child(6){background:#f2c21a}
.cdd-sign-real { margin:.2rem auto 0; color:#24364d; font-size:clamp(1rem,2.2vw,1.45rem); letter-spacing:.035em; text-transform:uppercase; }
.cdd-sign-real em { color:#ef2f7d; font-style:normal; font-weight:900; }
.cdd-sign-plank {
  position:relative;
  z-index:3;
  display:flex;
  flex-direction:column;
  width:min(84%,860px);
  margin:-.55rem auto 0;
  padding:.72rem 1rem .8rem;
  border-radius:4px;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 2px,rgba(0,0,0,.03) 2px 4px),
    linear-gradient(135deg,#078e98,#12acb8);
  color:#fff;
  box-shadow:0 10px 22px rgba(7,142,152,.25);
  text-transform:uppercase;
  letter-spacing:.045em;
  font-size:clamp(.86rem,1.8vw,1.15rem);
}
.cdd-sign-plank strong {
  display:block;
  font-family:"Brush Script MT","Segoe Script","Lucida Handwriting",cursive;
  font-size:clamp(1.45rem,3.4vw,2.35rem);
  font-weight:700;
  text-transform:none;
  letter-spacing:0;
  line-height:1.05;
}
@media (max-width:640px){
  .cdd-sign-hero { padding:2.1rem .1rem 0; }
  .cdd-sign-main { border-width:4px; border-radius:28px 28px 22px 22px; padding:1rem .6rem 1.45rem; }
  .cdd-sign-main::before { top:-29px; height:65px; border-width:4px; width:72%; }
  .cdd-sign-heart { margin-top:-.1rem; }
  .cdd-sign-ribbon { max-width:88%; padding:.5rem .75rem; font-size:.78rem; }
  .cdd-sign-ribbon::before,.cdd-sign-ribbon::after { display:none; }
  .cdd-sign-real { font-size:.78rem; line-height:1.35; }
  .cdd-sign-plank { width:88%; padding:.58rem .65rem .65rem; }
  .cdd-sign-plank span { font-size:.73rem; }
  .cdd-sign-plank strong { font-size:1.25rem; }
}


/* Version 1.1.1: compact specialty tags on individual designer cards */
.cdd-tags { gap: .3rem; }
.cdd-tag {
  padding: .22rem .44rem;
  font-size: .70rem;
  line-height: 1.15;
  font-weight: 750;
}
@media (max-width: 640px) {
  .cdd-tag {
    padding: .2rem .4rem;
    font-size: .67rem;
  }
}

/* Version 1.1.2: Crochet & Knit header and craft tabs */
.cdd-sign-crochet {
  font-size: clamp(2.55rem, 7.2vw, 5.7rem);
  line-height: .9;
}
.cdd-sign-amp {
  color: #7c59ca;
  font-size: .8em;
  padding: 0 .08em;
}
.cdd-craft-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: .8rem 0 .2rem;
}
.cdd-craft-tab {
  appearance: none;
  border-radius: 999px;
  min-height: 42px;
  padding: .6rem 1.03rem;
  background: #fff;
  color: var(--cdd-ink);
  border: 2px solid rgba(124,89,202,.35);
  font: inherit;
  font-size: .9rem;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 5px 12px rgba(37,49,59,.10);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.cdd-craft-tab:hover { transform: translateY(-1px); }
.cdd-craft-tab span { margin-right: .35rem; }
.cdd-craft-tab.is-active {
  color: #fff;
  background: linear-gradient(135deg,#7c59ca,#5f42ae);
  border-color: transparent;
  box-shadow: 0 7px 16px rgba(95,66,174,.25);
}
.cdd-craft-tab.cdd-craft-crochet { background: var(--cdd-soft-pink); border-color: var(--cdd-pink); color: var(--cdd-ink); }
.cdd-craft-tab.cdd-craft-knit { background: var(--cdd-soft-teal); border-color: var(--cdd-teal); color: var(--cdd-ink); }
.cdd-craft-tab.cdd-craft-crochet.is-active {
  background: linear-gradient(135deg,var(--cdd-pink),#ff5fae);
  border-color: transparent;
  color: #fff;
}
.cdd-craft-tab.cdd-craft-knit.is-active {
  background: linear-gradient(135deg,var(--cdd-teal),#33d9ec);
  border-color: transparent;
  color: var(--cdd-ink);
}
@media (max-width:640px) {
  .cdd-sign-crochet { font-size: clamp(2.05rem, 11vw, 3.05rem); }
  .cdd-craft-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.38rem; }
  .cdd-craft-tab { min-height:38px; padding:.48rem .35rem; font-size:.74rem; }
  .cdd-craft-tab span { display:none; }
}


/* Version 1.1.4: offering filters live in their own combinable row (not the
   exclusive Crochet/Knit craft-tab group), Sweaters specialty, and filter tip */
.cdd-offering-row { display: flex; gap: .55rem; flex-wrap: wrap; margin: .8rem 0 0; }
.cdd-craft-tips { background: var(--cdd-soft-orange); border: 2px solid var(--cdd-orange); color: var(--cdd-ink) !important; }
.cdd-craft-tutorials { background: var(--cdd-soft-orange); border: 2px solid var(--cdd-orange); color: var(--cdd-ink) !important; }
.cdd-craft-videos { background: var(--cdd-soft-teal); border: 2px solid var(--cdd-teal); color: var(--cdd-ink) !important; }
.cdd-craft-charitable { background: var(--cdd-soft-lime); border: 2px solid var(--cdd-lime); color: var(--cdd-ink) !important; }
.cdd-craft-tips.is-active,
.cdd-craft-tutorials.is-active { background: var(--cdd-orange) !important; color: #fff !important; outline: 3px solid rgba(37,49,59,.16); outline-offset: 2px; }
.cdd-craft-videos.is-active { background: var(--cdd-teal) !important; color: var(--cdd-ink) !important; outline: 3px solid rgba(37,49,59,.16); outline-offset: 2px; }
.cdd-craft-charitable.is-active { background: var(--cdd-lime) !important; color: var(--cdd-ink) !important; outline: 3px solid rgba(37,49,59,.16); outline-offset: 2px; }
.cdd-filter-tip { margin:.65rem 0 0; color:var(--cdd-muted); font-size:.86rem; line-height:1.4; }
@media (max-width:640px) {
  .cdd-offering-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.38rem; }
  .cdd-filter-tip { display:none; }
}

/* Version 1.2.0: daily spotlight row (fair rotation, no repeats until everyone's featured) */
.cdd-spotlight {
  margin: 1.1rem 0 0;
  padding: 1.15rem 1.25rem 1.35rem;
  border-radius: 24px;
  background: linear-gradient(135deg, #fff9f0, #fff4fa);
  border: 2px solid rgba(255,138,42,.28);
  box-shadow: 0 14px 34px rgba(37,49,59,.08);
}
.cdd-spotlight-kicker {
  margin: 0 0 .8rem;
  font-weight: 900;
  font-size: 1.05rem;
  color: #d93f8e;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.cdd-spotlight-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .9rem;
}
.cdd-spotlight-tip {
  margin: 1.4rem 0 0;
  color: var(--cdd-muted);
  font-size: .85rem;
  font-style: italic;
}
.cdd-spotlight-card {
  border: 2px solid transparent;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(90deg, var(--cdd-pink), var(--cdd-orange), var(--cdd-lime), var(--cdd-teal)) border-box;
}
.cdd-featured-badge {
  display: inline-flex;
  align-items: center;
  padding: .28rem .6rem;
  margin-bottom: .5rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--cdd-pink), #ff8a2a);
  color: #fff !important;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .03em;
}
@media (max-width: 640px) {
  .cdd-spotlight { padding: 1rem 1rem 1.2rem; border-radius: 18px; }
  .cdd-spotlight-grid { grid-template-columns: 1fr; }
}

/* Version 1.2.0 (cont): craft-type badges + colored card tops that match the
   Crochet/Knit tab colors exactly (same CSS variables, single source of truth) */
.cdd-craft-badge {
  display: inline-flex;
  align-items: center;
  padding: .26rem .58rem;
  margin-bottom: .45rem;
  border-radius: 999px;
  color: #fff;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.cdd-craft-badge-crochet { background: linear-gradient(135deg,var(--cdd-pink),#ff5fae); }
.cdd-craft-badge-knit { background: linear-gradient(135deg,var(--cdd-teal),#33d9ec); color: var(--cdd-ink) !important; }
.cdd-craft-badge-both { background: linear-gradient(90deg,var(--cdd-pink) 50%,var(--cdd-teal) 50%); color: var(--cdd-ink) !important; }

.cdd-tags-preview { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .55rem; }
.cdd-tag-preview { opacity: .85; }

/* Card top strip normally shows the full rainbow gradient (::before below);
   these override it to match the designer's craft type instead. */
.cdd-card-crochet::before { background: linear-gradient(90deg,var(--cdd-pink),#ff5fae); }
.cdd-card-knit::before { background: linear-gradient(90deg,var(--cdd-teal),#33d9ec); }
.cdd-card-both::before { background: linear-gradient(90deg,var(--cdd-pink) 50%,var(--cdd-teal) 50%); }
