/* TapToConnect Help: Apple HIG styling, same base as the Socialschedulr help centre. */
:root {
    --blue: #0071e3;
    --ink: #1d1d1f;
    --grey: #86868b;
    --grey-2: #6e6e73;
    --bg: #f5f5f7;
    --card: #ffffff;
    --fill: rgba(118, 118, 128, 0.12);
    --separator: rgba(60, 60, 67, 0.18);
    --ring: rgba(0, 113, 227, 0.4);
    --font: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Helvetica Neue', system-ui, sans-serif;
}

@media (prefers-color-scheme: dark) {
    :root {
        --ink: #f5f5f7;
        --grey-2: #a1a1a6;
        --bg: #000000;
        --card: #1c1c1e;
        --fill: rgba(118, 118, 128, 0.24);
        --separator: rgba(84, 84, 88, 0.6);
        --blue: #2997ff;
    }
}

* { box-sizing: border-box; }

body {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: var(--font);
    font-size: 17px;
    line-height: 1.47;
    letter-spacing: -0.022em;
    -webkit-font-smoothing: antialiased;
}

a { color: var(--blue); text-decoration: none; }
a:hover { text-decoration: underline; }
:focus-visible { outline: none; box-shadow: 0 0 0 4px var(--ring); border-radius: 8px; }

.wrap { max-width: 980px; margin: 0 auto; padding: 0 22px; }

/* Liquid-glass navigation bar */
.bar {
    position: sticky; top: 0; z-index: 20;
    background: color-mix(in srgb, var(--bg) 72%, transparent);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    backdrop-filter: saturate(180%) blur(20px);
    border-bottom: 0.5px solid var(--separator);
}
.bar .wrap { display: flex; align-items: center; justify-content: space-between; height: 52px; gap: 16px; }
.brand { display: flex; align-items: center; gap: 9px; color: var(--ink); font-weight: 600; }
.brand:hover { text-decoration: none; }
.brand img { width: 28px; height: 28px; }
.brand .help-word { color: var(--grey); font-weight: 500; }
.bar nav { display: flex; align-items: center; gap: 22px; font-size: 13px; }
.bar nav a { color: var(--ink); opacity: .8; }
.bar nav a:hover { opacity: 1; text-decoration: none; }
.bar .pill { background: var(--blue); color: #fff; opacity: 1; padding: 5px 13px; border-radius: 980px; }

/* Hero */
.hero { text-align: center; padding: 72px 0 56px; background: radial-gradient(60% 80% at 50% 0%, color-mix(in srgb, var(--blue) 14%, transparent), transparent); }
.hero h1 { font-size: clamp(40px, 6vw, 56px); line-height: 1.07; letter-spacing: -0.015em; margin: 0; font-weight: 700; }
.hero p { margin: 10px 0 30px; font-size: 21px; color: var(--grey-2); letter-spacing: .011em; }

/* Search */
.search { position: relative; display: flex; align-items: center; max-width: 640px; margin: 0 auto; }
.search > svg { position: absolute; left: 16px; color: var(--grey); pointer-events: none; }
.search input {
    width: 100%; height: 44px; border: 0; border-radius: 12px; padding: 0 16px 0 42px;
    background: var(--card); color: var(--ink); font: inherit; font-size: 17px; letter-spacing: -0.022em;
    box-shadow: 0 0 0 0.5px var(--separator);
    -webkit-appearance: none; appearance: none;
}
.search input::placeholder { color: var(--grey); }
.search input:focus { outline: none; box-shadow: 0 0 0 4px var(--ring); }
.search-lg input { height: 56px; border-radius: 16px; font-size: 19px; padding-left: 48px; box-shadow: 0 12px 30px -12px rgba(0,0,0,.18), 0 0 0 0.5px var(--separator); }
.search-lg > svg { left: 19px; width: 20px; height: 20px; }
.suggest {
    position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 30; text-align: left;
    background: color-mix(in srgb, var(--card) 88%, transparent);
    -webkit-backdrop-filter: blur(24px) saturate(180%); backdrop-filter: blur(24px) saturate(180%);
    border-radius: 14px; box-shadow: 0 20px 40px -16px rgba(0,0,0,.3), 0 0 0 0.5px var(--separator); overflow: hidden;
}
.suggest a { display: block; padding: 11px 16px; color: var(--ink); }
.suggest a + a { border-top: 0.5px solid var(--separator); }
.suggest a:hover, .suggest a.active { background: var(--blue); color: #fff; text-decoration: none; }
.suggest a:hover small, .suggest a.active small { color: rgba(255,255,255,.75); }
.suggest small { display: block; color: var(--grey); font-size: 13px; }
.suggest .empty { padding: 12px 16px; color: var(--grey); font-size: 15px; }

/* Categories */
.categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding-top: 8px; padding-bottom: 80px; }
.category { background: var(--card); border-radius: 18px; padding: 22px 8px 10px; }
.category h2 { display: flex; align-items: center; gap: 12px; margin: 0 14px 4px; font-size: 22px; letter-spacing: -0.018em; }
.category .desc { margin: 0 14px 10px 62px; color: var(--grey-2); font-size: 15px; }
.badge { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 9px; color: #fff; flex-shrink: 0; }
.badge svg { width: 20px; height: 20px; }

/* Inset list rows */
.list { list-style: none; margin: 0; padding: 0; }
.list li + li a { border-top: 0.5px solid var(--separator); }
.list a { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 10px 14px; margin: 0 0; color: var(--ink); }
.list li a { border-radius: 0; }
.list a:hover { text-decoration: none; background: var(--fill); border-radius: 10px; border-top-color: transparent; }
.list a:hover + * , .list li:hover + li a { border-top-color: transparent; }
.list a span { flex: 1; }
.list a i { font-style: normal; color: var(--grey); font-size: 22px; line-height: 1; }
.results small { display: block; color: var(--grey-2); font-size: 14px; }

/* Article */
.article-layout { padding-top: 28px; padding-bottom: 96px; max-width: 760px; }
.article-top .search { max-width: none; }
.crumbs { display: flex; gap: 8px; align-items: center; margin: 26px 0 8px; font-size: 14px; color: var(--grey); }
.crumbs a { color: var(--grey-2); }
.article { background: var(--card); border-radius: 18px; padding: 36px 40px 40px; }
.article h1, .search-title { font-size: clamp(30px, 4.5vw, 40px); line-height: 1.1; letter-spacing: -0.015em; margin: 0; }
.search-title { margin: 32px 0 16px; font-size: 28px; }
.article .lead { font-size: 21px; color: var(--grey-2); margin: 12px 0 0; letter-spacing: .011em; line-height: 1.38; }
.prose { margin-top: 28px; }
.prose h2 { font-size: 24px; margin: 36px 0 10px; letter-spacing: -0.016em; }
.prose h3 { font-size: 19px; margin: 28px 0 8px; }
.prose p, .prose li { color: color-mix(in srgb, var(--ink) 88%, transparent); }
.prose ol, .prose ul { padding-left: 1.3em; }
.prose li { margin: 6px 0; }
.prose li::marker { color: var(--grey); }
.prose strong { font-weight: 600; color: var(--ink); }
.prose code { background: var(--fill); border-radius: 6px; padding: 1px 6px; font-size: .9em; }
.prose blockquote {
    margin: 22px 0; padding: 14px 18px; border-radius: 12px;
    background: color-mix(in srgb, var(--blue) 10%, transparent); color: var(--ink);
}
.prose blockquote p { margin: 0; color: var(--ink); }
.prose table { width: 100%; border-collapse: collapse; margin: 18px 0; font-size: 15px; }
.prose th, .prose td { text-align: left; padding: 9px 10px; border-bottom: 0.5px solid var(--separator); }
.prose th { color: var(--grey-2); font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: .02em; }
.related { margin-top: 28px; background: var(--card); border-radius: 18px; padding: 18px 8px 8px; }
.related h2 { margin: 0 14px 6px; font-size: 13px; text-transform: uppercase; letter-spacing: .03em; color: var(--grey); font-weight: 600; }

.foot { border-top: 0.5px solid var(--separator); padding: 22px 0 30px; color: var(--grey-2); font-size: 12px; }
.foot .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; }
.foot a { color: var(--grey-2); margin-left: 18px; }

@media (max-width: 760px) {
    .categories { grid-template-columns: 1fr; }
    .article { padding: 26px 20px 28px; border-radius: 16px; }
    .bar nav a:not(.pill) { display: none; }
    .hero { padding: 48px 0 40px; }
}

@media (prefers-reduced-motion: reduce) {
    * { transition: none !important; animation: none !important; }
}

/* Screenshots of the app in articles */
.article img { display: block; width: 100%; height: auto; margin: 24px 0; border-radius: 14px; box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 12px 32px rgba(0,0,0,.10), 0 0 0 .5px rgba(0,0,0,.08); }
@media (prefers-color-scheme: dark) { .article img { box-shadow: 0 0 0 .5px rgba(255,255,255,.12), 0 12px 32px rgba(0,0,0,.5); } }


/* Language menu with flags */
.flag { display: inline-block; width: 20px; height: 14px; border-radius: 3px; flex: none; background-size: cover; background-position: center; box-shadow: 0 0 0 0.5px rgba(0,0,0,.18); }
.flag-nl { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 6'%3E%3Cpath fill='%23AE1C28' d='M0 0h9v2H0z'/%3E%3Cpath fill='%23fff' d='M0 2h9v2H0z'/%3E%3Cpath fill='%2321468B' d='M0 4h9v2H0z'/%3E%3C/svg%3E"); }
.flag-en { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3CclipPath id='t'%3E%3Cpath d='M30 15h30v15zv15H0zH0V0zV0h30z'/%3E%3C/clipPath%3E%3Cpath fill='%23012169' d='M0 0h60v30H0z'/%3E%3Cpath stroke='%23fff' stroke-width='6' d='M0 0l60 30m0-30L0 30'/%3E%3Cpath stroke='%23C8102E' stroke-width='4' d='M0 0l60 30m0-30L0 30' clip-path='url(%23t)'/%3E%3Cpath stroke='%23fff' stroke-width='10' d='M30 0v30M0 15h60'/%3E%3Cpath stroke='%23C8102E' stroke-width='6' d='M30 0v30M0 15h60'/%3E%3C/svg%3E"); }
.lang-menu { position: relative; }
.lang-menu summary { list-style: none; display: flex; align-items: center; gap: 7px; cursor: pointer; font-size: 12px; font-weight: 600; letter-spacing: .02em; padding: 4px 9px 4px 8px; border-radius: 8px; box-shadow: inset 0 0 0 1px var(--separator); color: var(--ink); user-select: none; }
.lang-menu summary::-webkit-details-marker { display: none; }
.lang-menu summary::after { content: ''; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); opacity: .6; margin-left: 1px; }
.lang-menu[open] summary::after { transform: translateY(1px) rotate(225deg); }
.lang-menu summary:hover { background: var(--fill); }
.lang-list { position: absolute; right: 0; top: calc(100% + 8px); min-width: 170px; padding: 6px; border-radius: 14px; background: var(--card); box-shadow: 0 0 0 0.5px rgba(0,0,0,.12), 0 18px 40px -12px rgba(0,0,0,.3); z-index: 60; }
.bar nav .lang-list a.lang-option { display: flex !important; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 9px; font-size: 14px; color: var(--ink); opacity: 1; }
.bar nav .lang-list a.lang-option:hover { background: var(--fill); text-decoration: none; }
.bar nav .lang-list a.lang-option[aria-current] { font-weight: 600; }
.bar nav .lang-list a.lang-option[aria-current]::after { content: ''; margin-left: auto; width: 10px; height: 5px; border-left: 2px solid var(--blue); border-bottom: 2px solid var(--blue); transform: translateY(-2px) rotate(-45deg); }
@media (prefers-color-scheme: dark) { .lang-list { box-shadow: 0 0 0 0.5px rgba(255,255,255,.14), 0 18px 40px -12px rgba(0,0,0,.8); } }
.bar nav .pill { white-space: nowrap; }
@media (max-width: 560px) { .bar nav { gap: 10px; } .bar .brand .help-word { display: none; } }

/* Brand */
.brand-name { display: flex; flex-direction: column; line-height: 1.1; }
.brand-name b { font-weight: 600; }
.brand img { border-radius: 50%; }
@media (prefers-color-scheme: dark) { .brand img { box-shadow: 0 0 0 1px rgba(255,255,255,.35); } }
