/* Shared profile treatment. Loaded only by the homepage and public profile. */
.landing-page, .profile-page {
    --wl-surface: #101923;
    --wl-panel: #192532;
    --wl-line: #2d3e50;
    --wl-text: #f5f7fa;
    --wl-muted: #aebdcd;
    --wl-card-shadow: 0 28px 70px #0004;
    --wl-control-shadow: 0 4px 12px #0002;
    --wl-link-shadow: 0 6px 18px #0002;
    --wl-photo-shadow: 0 10px 30px #0003;
    --wl-link-bg: linear-gradient(135deg, var(--wl-panel), var(--wl-surface));
    --landing-bg: #0b1118;
    --landing-surface: var(--wl-surface);
    --landing-card-bg: var(--wl-surface);
    --landing-text: var(--wl-text);
    --landing-muted: var(--wl-muted);
    --landing-line: var(--wl-line);
    background: radial-gradient(ellipse at 75% 0, #1b2c3c66, transparent 650px) no-repeat, #0b1118;
}
[data-bs-theme="light"] :is(.landing-page, .profile-page) {
    --wl-surface: #fff;
    --wl-panel: #f7f9fb;
    --wl-line: #cbd7e3;
    --wl-text: #152334;
    --wl-muted: #526478;
    --wl-card-shadow: 0 12px 40px #1523340f;
    --wl-control-shadow: 0 2px 6px #15233406;
    --wl-link-shadow: 0 3px 10px #1523340a;
    --wl-photo-shadow: 0 6px 18px #1523340f;
    --wl-link-bg: var(--wl-panel);
    --landing-bg: #fafbfc;
    --landing-surface: var(--wl-surface);
    --landing-card-bg: var(--wl-surface);
    --landing-text: var(--wl-text);
    --landing-muted: var(--wl-muted);
    --landing-line: var(--wl-line);
    background: #fafbfc;
}
.wl-card {
    position: relative;
    isolation: isolate;
    border: 1px solid var(--wl-line);
    border-radius: 30px;
    background: var(--wl-surface);
    color: var(--wl-text);
    box-shadow: 0 24px 65px #0003, inset 0 1px #ffffff12;
}
.wl-card .wl-name-check { width: 18px; height: 18px; font-size: 18px; line-height: 1; flex-shrink: 0; }
.wl-card .wl-name-flag { width: 24px; height: 18px; object-fit: contain; flex-shrink: 0; }
.wl-profile-link {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 56px;
    text-align: left;
    text-decoration: none;
    border-radius: 16px;
}
.wl-profile-link > span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.wl-profile-link > .bi:first-child { font-size: 21px; flex-shrink: 0; }
.wl-link-arrow { font-size: 16px; opacity: .8; flex-shrink: 0; }
.wl-card .wl-secondary-link:is(.btn-primary, .profile-link-preview) {
    background: var(--wl-link-bg);
    color: var(--wl-text);
    border: 1px solid var(--wl-line);
    box-shadow: inset 0 1px #ffffff0d;
}
.wl-card .wl-instagram:is(.btn-primary, .profile-link-preview) {
    background: linear-gradient(120deg, #0788fb, #0961ef);
    color: #fff;
    border: 1px solid #3899ff;
}
.wl-card .wl-profile-link:hover { filter: brightness(1.12); }
.wl-card a:focus-visible { outline: 3px solid #6ab5ff; outline-offset: 4px; }

/* Public profile: retain saved card/button colour options. */
.profile-page .profile-card {
    padding: 32px !important;
    border: 0;
    border-radius: 32px !important;
    box-shadow: var(--wl-card-shadow) !important;
}
.profile-page .profile-card.bg-body { background-color: var(--wl-surface) !important; color: var(--wl-text); }
.profile-page .profile-card > .card-header { padding: 12px 8px 0; }
.profile-page .profile-photo {
    width: 156px;
    height: 156px;
    border-radius: 32px;
    border: 0;
    box-shadow: var(--wl-photo-shadow);
}
.profile-page .card-header .card-title { margin: 20px 0 8px; }
.profile-page .card-text { max-width: 600px; margin-inline: auto; font-size: 18px; line-height: 1.65; }
.profile-page .wl-card-action {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 14px;
    background: var(--wl-panel);
    color: var(--wl-text);
    box-shadow: var(--wl-control-shadow);
    z-index: 1;
}
.profile-page .wl-profile-links { grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); margin-bottom: 24px; }
.profile-page .wl-card .wl-profile-link { height: 100%; border: 0; border-radius: 16px; font-size: 16px; box-shadow: var(--wl-link-shadow); }
.profile-page .wl-profile-handle { color: inherit; opacity: .7; font-size: 17px; overflow-wrap: anywhere; }
.wl-card .wl-category { background: var(--wl-panel); color: var(--wl-text); padding: 8px 18px; margin: 4px 0 8px; box-shadow: var(--wl-control-shadow); font-size: 14px; }
.profile-page .card-body > .row img, .profile-page .card-body > .row video {
    width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 18px !important;
}
.profile-page .wl-card-footer { border: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; padding-top: 16px; }
.profile-page .wl-card-footer a { font-size: 16px; }
.wl-copy-link { border: 0; border-radius: 16px; padding: 10px 14px; background: var(--wl-panel); color: var(--wl-text); font-size: 14px; box-shadow: var(--wl-control-shadow); }
.wl-copy-link:focus-visible { outline: 3px solid #6ab5ff; outline-offset: 4px; }
.wl-card-footer { border-top: 1px solid var(--wl-line); margin-top: 24px; padding-top: 18px; }
.wl-card-footer a { color: inherit; text-decoration: none; font-size: 14px; overflow-wrap: anywhere; }
.wl-card-footer .bi { margin-right: 8px; }

/* Quiet homepage: one upright card and subtle accents. */
.landing-page .landing-hero { padding-block: 64px; }
.landing-page .hero-copy h1 { font-size: clamp(40px, 4.7vw, 64px); letter-spacing: -.055em; }
.landing-page .hero-description { font-size: 17px; }
.landing-page .landing-button, .landing-page .landing-account { border-radius: 16px; }
.landing-page .profile-preview { border: 0; border-radius: 32px; box-shadow: var(--wl-card-shadow); overflow: hidden; }
.landing-page .profile-preview:hover { transform: none; }
.landing-page .profile-address { background: transparent; color: var(--wl-muted); padding: 28px 24px 0; font-size: 17px; overflow-wrap: anywhere; }
.landing-page .profile-preview-body { padding: 24px 24px 22px; }
.landing-page .profile-avatar { width: 124px; height: 124px; border: 0; box-shadow: var(--wl-photo-shadow); border-radius: 26px; margin-bottom: 24px; }
.landing-page .profile-preview h2 { font-size: 24px; margin-bottom: 16px; }
.landing-page .profile-bio { font-size: 16px; margin-bottom: 18px; }
.landing-page .profile-website { font-size: 16px; }
.landing-page .featured-profile-links { grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); margin-top: 20px; }
.landing-page .wl-card .profile-link-preview {border: 0; border-radius: 16px; font-size: 14px; margin-top: 0; text-align: left; box-shadow: var(--wl-link-shadow); }
.landing-page .profile-link-preview .bi:first-child { font-size: 21px; }
.landing-page .profile-gallery { gap: 9px; margin-top: 18px; }
.landing-page .profile-gallery :is(a, img) { border-radius: 18px; }
.landing-page .profile-gallery img { aspect-ratio: 4 / 5; box-shadow: var(--wl-link-shadow); }
.landing-page .profile-open { display: flex; flex-wrap: wrap; justify-content: space-between; border: 0; padding-top: 16px; font-size: 12px; }
.landing-page .profile-open > span { overflow-wrap: anywhere; min-width: 0; }
.landing-page .landing-cta { background: var(--wl-surface); border-radius: 24px; }
.landing-page .landing-cta h2 { color: var(--wl-text); }
.landing-page .landing-cta :is(p, .eyebrow) { color: var(--wl-muted); }
@media (max-width: 767.98px) {
    .landing-page .landing-hero { padding-block: 36px; }
    .landing-page .hero-showcase { max-width: 480px; margin-inline: auto; }
    .landing-page .profile-preview-body { padding-inline: 20px; }
    .landing-page .profile-preview { border-radius: 24px; }
    .profile-page .profile-column { padding-top: 20px !important; }
    .profile-page .profile-card { padding: 20px !important; border-radius: 24px !important; }
    .profile-page .profile-photo { width: 124px; height: 124px; border-radius: 26px; }
    .profile-page .card-text { font-size: 16px; }
    .profile-page .wl-card .wl-profile-link { padding: 16px; min-height: 60px; }
}
.modal-backdrop {
  display: none !important;
}