/* Public website theme, matching the approved wine template. */
.uw-brand { display:inline-flex; align-items:center; gap:11px; color:#1b2941; font-size:20px; font-weight:600; line-height:1.2; letter-spacing:0; }
.uw-mark { display:block; flex:0 0 44px; width:44px; height:44px; border:0; border-radius:0; background:transparent url('/assets/uw-mark-handwritten-v1.png') center/contain no-repeat; color:transparent; font-size:0; line-height:1; }
@media(max-width:700px) { .uw-brand { gap:8px; } }
:root.public-site {
  --text: #30232d;
  --muted: #695b65;
  --line: #e4d7df;
  --line-strong: #c795af;
  --accent: #a32258;
  --accent-2: #7e1944;
  --accent-soft: #f8eaf1;
  --blue: var(--accent);
  color: var(--text);
  background: #faf5f8;
}
.public-site body { background: linear-gradient(180deg, #f3dce9 0%, #fbf8fa 35%, #f6edf7 70%, #f0dde9 100%); }
.public-site .site-header { background: linear-gradient(110deg, #92243d 0%, #b72c78 52%, #793886 100%); border-bottom: 2px solid var(--line-strong); }
.public-site .site-header .brand { display:flex; align-items:center; }
.public-site :is(.site-header .brand,.site-header nav a,.language-current,.language-picker > summary) { color: #fff; }
.public-site .site-header :focus-visible { outline-color: #fff; }
.public-site .uw-brand { color:#fff; }
.public-site .uw-mark { border:0; background-color:transparent; color:transparent; }
.public-site :is(.language-picker a:hover,.language-picker a[aria-current]) { background: var(--accent-soft); }
.public-site :is(.intro,.label,.prose,.text-section p,.tool-card p,.breadcrumb,.breadcrumb a,.category-item p,.page-prose p,.contact-privacy) { color: var(--muted); }
.public-site .breadcrumb a:hover { color: var(--accent-2); }
.public-site :is(.tool-inline,.tool-grid > .tool-card) { border: 2px solid var(--line-strong); }
.public-site .tool-card:hover { border-color: #b87999; background: #fff8fb; }
.public-site .category-count { background: var(--accent-soft); color: var(--accent); }
.public-site .category-item:nth-child(3n + 2) .category-count { background: #f2e7f2; color: #76336d; }
.public-site .category-item:nth-child(3n) .category-count { background: #eaf1ee; color: #386354; }
.public-site .search button:hover,.public-site .button:hover { background: var(--accent-2); }
.public-site input { border-color: var(--line); }
.public-site .contact-grid :is(input,select,textarea) { border-color: var(--line); color: var(--text); }
.public-site .contact-submit button { background: var(--accent); }
.public-site .contact-submit button:hover { background: var(--accent-2); }
.public-site > body :is(.read-more-toggle,.read-more-toggle:hover) { background: none; }
.public-site .read-more-toggle:hover { color: var(--accent-2); }
.public-site > body :is(.fact-dot,.fact-dot:hover) { background: none; }
.public-site .fact-dot:before { background: #c8afc1; }
.public-site .fact-dot[aria-pressed="true"]:before { background: var(--accent); }
.public-site .fact-dot:hover:before { background: var(--accent-2); }
.public-site .uw-tool input::placeholder,.public-site .uw-tool textarea::placeholder { color: #81737d; }
.public-site .uw-tool .uw-result-head h3 { color: #501b38; }
.public-site .uw-tool .uw-button-secondary:hover { background: #f7edf7; border-color: var(--accent); }
.public-site .site-footer { background: #361b30; color: #f0dce7; }
.public-site .site-footer a { color: #f0dce7; }
.public-site .site-footer a:hover { color: #fff; }
.public-site .site-footer :focus-visible { outline-color: #edb7cf; }
.public-site #footer-categories-title { margin:0 0 8px; font-size:16px; line-height:1.4; }
.public-site .footer-categories { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 24px; }
.public-site .footer-categories a { display:flex; align-items:center; min-height:44px; padding-block:8px; }
.public-site .footer-links { border-top:1px solid #65415b; padding-top:20px; }
@media(max-width:1000px) { .public-site .footer-categories { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:700px) { .public-site .footer-categories { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; } }
.public-site .page-smoke:before { filter: hue-rotate(100deg) saturate(1.35); opacity: .65; animation-duration: 9.5s; }
.public-site .page-smoke:after { filter: hue-rotate(65deg) saturate(1.3); opacity: .5; animation-duration: 13s; }
@media(max-width:700px) { .public-site .site-header nav a { font-size:16px; } }
@media(max-width:400px) { .public-site .site-header nav a { font-size:13px; } .public-site .uw-brand { font-size:16px; gap:6px; } .public-site .uw-mark { width:34px; height:34px; flex-basis:34px; } }
@media(max-width:620px) { .public-site .page-smoke:before { opacity:.48; } .public-site .page-smoke:after { opacity:.38; } }
@media(prefers-reduced-motion:reduce) { .public-site .page-smoke:before,.public-site .page-smoke:after { animation:none; } }

/* Shared heading rhythm for home, category and tool pages. */
.public-site :is(.directory-hero,.tool-heading,.section:has(> .breadcrumb)) { padding-top:32px; }
.public-site :is(.directory-hero > .label,.breadcrumb) { font-size:13px; font-weight:400; line-height:1.65; margin-bottom:24px; }
.public-site .breadcrumb a { font-weight:400; }
.public-site .directory-hero h1 { margin-top:0; }
@media(min-width:701px) { .public-site .directory-hero > .search { max-width:none; } }
@media(max-width:700px) {
    .public-site :is(.directory-hero,.tool-heading,.section:has(> .breadcrumb)) { padding-top:28px; }
}

/* Category navigation uses symbols instead of counts. */
.public-site .category-icon { display:grid; place-items:center; width:40px; height:40px; flex:0 0 40px; align-self:flex-start; border-radius:4px; background:var(--accent-soft); color:var(--accent); }
.public-site .category-icon svg { display:block; width:24px; height:24px; }
.public-site :is(.category-title,.tool-title) { display:flex; align-items:flex-start; gap:12px; }
.public-site :is(.category-title,.tool-title) > .category-icon { width:28px; height:38.4px; flex-basis:28px; border-radius:0; background:none; }
.public-site :is(.category-title,.tool-title) > .category-icon svg { width:28px; height:28px; }
.public-site :is(.category-title,.tool-title) > span:last-child { min-width:0; }
.public-site .tool-updated { margin:0 0 8px; color:var(--muted); font-size:13px; line-height:1.6; }
.public-site .category-item:nth-child(3n + 2) .category-icon { background:#f2e7f2; color:#76336d; }
.public-site .category-item:nth-child(3n) .category-icon { background:#eaf1ee; color:#386354; }
.public-site :is(.language-current,.language-picker > summary) { padding-top:9px; padding-bottom:7px; }

/* Enlarge the mark without increasing the mobile header height. */
/* Center the pink tile optically; the handwritten stroke extends above it. */
@media(max-width:700px) { .public-site .site-header .uw-mark { transform:scale(1.08) translateY(-4.5%); } }
@media(min-width:701px) { .public-site .site-header .uw-mark { width:66px; height:66px; flex-basis:66px; transform:translateY(-4.5%); } }
