/* The Business Name Generator (App\Businesses\WorkKind::NAMES): its own fields in the tool's form
   (works/fields/business_names), a list of ideas (works/kinds/business_names), its dashboard card
   (works/cards/business_names) and its page (marketing/tools/business-name-generator). Loaded after
   app.css and works.css, whose tokens and classes it uses. */

/* The form's own fields: words to include, and the feel */
.names-fields{display:flex;flex-wrap:wrap;gap:14px 24px;padding-top:14px;border-top:1px solid var(--line-soft)}
.names-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.names-words{flex:1 1 220px}
.names-feel{flex:0 1 auto;margin:0;padding:0;border:0}
.names-feel legend{float:left;width:100%;margin-bottom:6px;padding:0;font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.02em}
.names-optional{font-weight:500;color:var(--subtle)}
.names-input{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:15px}
.names-input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.names-input[aria-invalid="true"]{border-color:#C0392B}
.names-feels{display:flex;flex-wrap:wrap;gap:6px}
.prompt .names-chip{position:relative;display:inline-flex;font-size:14px;font-weight:500;color:var(--ink);letter-spacing:0;cursor:pointer}
.names-chip input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}
.names-chip span{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:var(--paper);transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.names-chip:hover span{border-color:#CFC7B8}
.names-chip input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.names-chip input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}

/* A list of ideas, and the one the owner picked */
.names{display:grid;gap:22px}
.names-lede{margin:0;max-width:720px;color:var(--muted);font-size:17px;line-height:1.55}
.names-picked{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,300px);align-items:center;gap:18px;padding:20px;background:var(--ok-soft);border:1px solid #C9DECD;border-radius:20px}
.names-picked-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--ok);color:#fff}
.names-picked-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.names-picked-text small{color:var(--ok);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.names-picked-text b{font:400 clamp(26px,3.2vw,34px)/1.1 var(--display);letter-spacing:-.02em;overflow-wrap:anywhere}
.names-picked-text p{margin:4px 0 0;color:var(--muted);font-size:14px}
.names-picked-next{display:flex;flex-direction:column;gap:3px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;color:var(--ink);text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease}
.names-picked-next:hover{border-color:#CFC7B8;box-shadow:0 10px 24px rgba(26,26,23,.08);color:var(--ink)}
.names-picked-next small{color:var(--accent-hover);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.names-picked-next b{font-size:16px;line-height:1.3}
.names-picked-next span{color:var(--muted);font-size:13.5px;line-height:1.4}
.names-picked-next:hover b{color:var(--accent-hover)}

.names-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:0;padding:0;list-style:none}
.name-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:18px;transition:border-color .2s ease,box-shadow .2s ease}
.name-card:hover{border-color:#CFC7B8;box-shadow:0 12px 28px rgba(26,26,23,.07)}
.name-card.is-chosen{border-color:var(--ok);box-shadow:inset 0 0 0 1px var(--ok)}
.name-style{display:inline-flex;padding:3px 9px;border-radius:999px;background:var(--tb,var(--chip));color:var(--tf,var(--muted));font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.name-card .name-idea{margin:0;font:400 26px/1.12 var(--display);letter-spacing:-.018em;overflow-wrap:anywhere;text-wrap:balance}
.name-why{flex:1;margin:0;color:var(--muted);font-size:15px;line-height:1.5}
.name-foot{align-self:stretch;margin-top:4px}
.name-foot form{margin:0}
.name-use{width:100%}
.name-chosen{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:40px;border-radius:10px;background:var(--ok-soft);color:var(--ok);font-size:15px;font-weight:700}

.names-note{display:flex;align-items:flex-start;gap:10px;margin:0;padding:14px 16px;border:1px dashed #D9D2C5;border-radius:14px;color:var(--muted);font-size:14px;line-height:1.5}
.names-note svg{flex:none;margin-top:2px;color:var(--subtle)}

/* More ideas: the tool's form, continuing the business */
.names-more{border:1px solid var(--line);border-radius:20px;background:var(--surface)}
.names-more summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-radius:19px;list-style:none;cursor:pointer}
.names-more summary::-webkit-details-marker{display:none}
.names-more summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.names-more-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.names-more-text b{font:500 19px/1.25 var(--display)}
.names-more-text span{color:var(--muted);font-size:14.5px;line-height:1.45}
.names-more-button{flex:none;pointer-events:none}
.names-more[open] .names-more-button{display:none}
.names-more .prompt{margin:0 12px 12px;width:auto;max-width:none;box-shadow:none;background:var(--paper)}
.names-more .prompt textarea{min-height:88px;font-size:17px}
/* The page already says which business it's for. */
.names-more .work-form-for{display:none}
.names-more .names-input,.names-more .names-chip span{background:var(--surface)}

/* A list in the dashboard's Branding */
.names-card-picked{display:inline-flex;align-items:center;gap:6px;color:var(--ok);font-size:14px;font-weight:600}
.names-card-picked strong{color:var(--ink)}
.names-card-ideas{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.names-card-ideas span{padding:2px 9px;border-radius:999px;background:var(--chip);font-size:13px;line-height:1.5}
.names-card-ideas small{color:var(--subtle);font-size:12.5px}

/* The tool's page */
.names-example-for{display:inline-flex;align-items:flex-start;gap:8px;margin:0 0 16px;color:var(--muted);font-size:15px;font-weight:600}
.names-example-for::before{content:"";flex:none;width:8px;height:8px;margin-top:8px;border-radius:50%;background:var(--accent)}
.names-example .names-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.names-example .name-card{padding:22px}
.names-example-note{margin:18px 0 0;color:var(--subtle);font-size:14px}
.tool-gets .band-head p{margin:14px 0 0}
.names-after{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.names-after a{display:flex;flex-direction:column;gap:8px;height:100%;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:18px;color:var(--ink);text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease}
.names-after a:hover{border-color:#CFC7B8;box-shadow:0 12px 28px rgba(26,26,23,.08);color:var(--ink)}
.names-after .mega-icon{width:42px;height:42px;margin-bottom:6px;border-radius:12px}
.names-after b{font-size:17px;line-height:1.3}
.names-after a:hover b{color:var(--accent-hover)}
.names-after span:last-child{color:var(--muted);font-size:15px;line-height:1.5}

@media (max-width:980px){
  .names-after{grid-template-columns:1fr 1fr}
  .names-example .names-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .names-picked{grid-template-columns:auto minmax(0,1fr)}
  .names-picked-next{grid-column:1/-1}
}
@media (max-width:560px){
  .names-after,.names-example .names-grid{grid-template-columns:1fr}
  .names-picked{padding:16px;gap:14px}
  .names-picked-mark{width:36px;height:36px}
  .names-more summary{flex-direction:column;align-items:flex-start}
  .names-more .prompt{margin:0 8px 8px}
  .name-card .name-idea{font-size:24px}
  .names-after a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;padding:18px}
  .names-after .mega-icon{grid-row:span 2;margin:0}
}
@media (prefers-reduced-motion:reduce){
  .name-card,.names-after a,.names-picked-next,.names-chip span{transition:none}
}

/* Name ideas for one industry (marketing/tools/business-names, App\Marketing\BusinessNames): groups by style */
.names-crumbs{justify-content:center;margin:0 0 6px}
.names-group+.names-group{margin-top:36px}
.names-group-title{margin:0}
.names-group-title .name-style{font-size:12.5px;padding:4px 11px}
.names-group-text{max-width:720px;margin:10px 0 16px;color:var(--muted);font-size:16px}
.names-group .name-card{background:var(--paper)}
.names-industries-title{margin:40px 0 16px;font-size:20px}
@media (max-width:560px){
  .names-group .names-grid{grid-template-columns:1fr 1fr;gap:10px}
  .names-group .name-card{gap:6px;padding:14px}
  .names-group .name-card .name-idea{font-size:19px}
  .names-group .name-why{font-size:13.5px;line-height:1.45}
}

/* The generator's and industry pages' look (UI): example names floating beside the form on wide screens, how it
   works as one track, industry tiles, an industry page's jump to a style, name cards edged in their style's colour,
   and the naming tips beside their heading. Decorative names are aria-hidden. */
.nm-stage{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;max-width:880px}
.nm-float{position:absolute;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:0;padding:11px 16px 13px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 14px 30px rgba(26,26,23,.1);color:var(--ink);font:400 20px/1.1 var(--display);letter-spacing:-.015em;text-align:left;white-space:nowrap}
.describe:has(.nm-stage){overflow-x:clip}
.nm-float span{padding:2px 8px;border-radius:999px;background:var(--tb);color:var(--tf);font:700 10px/1.6 var(--body);letter-spacing:.06em;text-transform:uppercase}
/* Anchored to the form's nearer edge, so a long name grows away from it. */
.nm-float-1{top:64px;right:calc(100% + 26px);transform:rotate(-4deg)}
.nm-float-2{top:236px;right:calc(100% + 46px);transform:rotate(3deg)}
.nm-float-3{top:52px;left:calc(100% + 22px);transform:rotate(3deg)}
.nm-float-4{top:228px;left:calc(100% + 40px);transform:rotate(-3deg)}
@media (max-width:1420px){.nm-float{display:none}}

.nm-track{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0;padding:0;list-style:none}
.nm-track::before{content:"";position:absolute;top:23px;right:16.66%;left:16.66%;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--tb),var(--tf),var(--tb))}
.nm-track li{position:relative;text-align:center}
.nm-step{position:relative;display:grid;place-items:center;width:48px;height:48px;margin:0 auto 18px;border:4px solid var(--paper);border-radius:50%;background:var(--tf);color:var(--tb);font:500 19px/1 var(--display);box-sizing:content-box}
.nm-track h3{margin:0;font-size:18px}
.nm-track p{max-width:320px;margin:8px auto 0;color:var(--muted);font-size:15px}
.nm-track-note{margin:30px 0 0;color:var(--muted);text-align:center}

.nm-industries{margin-top:52px}
.nm-industries .names-industries-title{margin:0 0 16px}
.nm-industry-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.nm-industry{display:flex;align-items:center;gap:12px;height:100%;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.nm-industry:hover{transform:translateY(-2px);border-color:#CFC7B8;box-shadow:0 10px 24px rgba(26,26,23,.08);color:var(--ink)}
.nm-industry-icon{display:grid;flex:none;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--tb);color:var(--tf)}
.nm-industry-text{min-width:0}
.nm-industry-text b{display:block;font-size:14.5px;font-weight:600;line-height:1.3}
.nm-industry-text small{display:block;color:var(--muted);font-size:12.5px}
.nm-go{flex:none;margin-left:auto;color:var(--subtle);transition:transform .2s ease,color .2s ease}
.nm-industry:hover .nm-go{transform:translateX(3px);color:var(--accent)}

.nm-styles{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 30px}
.nm-styles a{display:inline-flex;align-items:center;gap:8px;padding:7px 10px 7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:600;text-decoration:none}
.nm-styles a:hover{border-color:var(--tf);color:var(--ink)}
.nm-styles span{width:9px;height:9px;border-radius:50%;background:var(--tf)}
.nm-styles small{padding:0 7px;border-radius:999px;background:var(--tb);color:var(--tf);font-size:12px;font-weight:700}
.nm-group{scroll-margin-top:96px}
.nm-group-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:6px 16px;margin-bottom:16px}
.nm-group-head .names-group-text{margin:0}
.nm-group .name-card{gap:8px;background:var(--surface);border-top:3px solid var(--tf)}
.nm-group .name-card .name-idea{color:var(--ink);font-size:24px}

.nm-tips{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:48px;align-items:start}
.nm-tips .band-head{position:sticky;top:96px;margin-bottom:0}
.nm-tips-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.nm-tips-list li{position:relative;padding:18px 22px 20px 72px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.nm-tips-list .uc-n{position:absolute;top:18px;left:22px;margin:0}
.nm-tips-list h3{margin:5px 0 0;font-size:17px}
.nm-tips-list p{margin:8px 0 0;color:var(--muted);font-size:15px}

@media (max-width:980px){.nm-industry-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.nm-tips{grid-template-columns:1fr;gap:20px}.nm-tips .band-head{position:static}}
@media (max-width:760px){
  .nm-track{grid-template-columns:1fr;gap:22px}
  .nm-track::before{display:none}
  .nm-track li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 14px;text-align:left}
  .nm-track li:not(:last-child)::after{content:"";position:absolute;top:58px;bottom:-18px;left:27px;width:2px;border-radius:2px;background:var(--tf);opacity:.35}
  .nm-step{grid-row:span 2;margin:0}
  .nm-track p{margin:6px 0 0}
  .nm-track-note{text-align:left}
  .nm-group-head{grid-template-columns:1fr}
}
@media (max-width:560px){.nm-industry-tiles{grid-template-columns:1fr}.nm-tips-list li{padding:16px 16px 18px 64px}.nm-tips-list .uc-n{left:16px}.nm-group .name-card .name-idea{font-size:19px}}
@media (prefers-reduced-motion:reduce){.nm-industry,.nm-go{transition:none}.nm-industry:hover,.nm-industry:hover .nm-go{transform:none}}
