/* SmartersWEB Free Tools — public-site layout integration */
.free-tools-page #main-content {
    padding: 0;
    overflow: clip;
    background: #f5f7fb;
}

.swft-public-shell {
    --swft-ink: #0f1f36;
    --swft-copy: #334155;
    --swft-muted: #64748b;
    --swft-border: #dbe4ef;
    --swft-surface: #ffffff;
    --swft-soft: #f5f7fb;
    --swft-blue: #2563eb;
    --swft-blue-dark: #1d4ed8;
    min-height: 62vh;
    background:
        radial-gradient(circle at 10% 0%, rgba(59,130,246,.09), transparent 28rem),
        #f5f7fb;
    color: var(--swft-copy);
}

.swft-tools-bar {
    position: relative;
    z-index: 24;
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid var(--swft-border);
    box-shadow: 0 6px 22px rgba(15,31,54,.05);
    backdrop-filter: blur(14px);
}

.swft-tools-bar__inner {
    width: min(1240px, calc(100% - 40px));
    min-height: 58px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 22px;
}

.swft-tools-home,
.swft-tools-links a,
.swft-tools-account a {
    text-decoration: none;
}

.swft-tools-home {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--swft-ink);
    white-space: nowrap;
}
.swft-tools-home span {
    display: grid;
    place-items: center;
    width: 29px;
    height: 29px;
    border-radius: 9px;
    background: linear-gradient(135deg,#1d4ed8,#60a5fa);
    color: #fff;
    font-size: .72rem;
    box-shadow: 0 7px 18px rgba(37,99,235,.24);
}
.swft-tools-home strong { font-size: .95rem; }

.swft-tools-links {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 4px;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.swft-tools-links::-webkit-scrollbar { display: none; }
.swft-tools-links a {
    flex: 0 0 auto;
    padding: 9px 11px;
    border-radius: 9px;
    color: #475569;
    font-size: .78rem;
    font-weight: 750;
    white-space: nowrap;
}
.swft-tools-links a:hover,
.swft-tools-links a[aria-current="page"] {
    background: #eff6ff;
    color: var(--swft-blue-dark);
}

.swft-tools-account {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    white-space: nowrap;
    font-size: .76rem;
}
.swft-connected-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #16a34a;
    box-shadow: 0 0 0 4px rgba(22,163,74,.12);
}
.swft-account-copy { color: #475569; max-width: 130px; overflow: hidden; text-overflow: ellipsis; }
.swft-tools-account a {
    color: var(--swft-blue-dark);
    font-weight: 800;
}
.swft-signin-link {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 13px;
    border: 1px solid #bfdbfe;
    border-radius: 9px;
    background: #eff6ff;
}

.swft-breadcrumb {
    background: #fff;
    border-bottom: 1px solid rgba(219,228,239,.8);
}
.swft-breadcrumb__inner {
    width: min(1180px, calc(100% - 40px));
    min-height: 42px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
    color: #64748b;
    font-size: .77rem;
    white-space: nowrap;
}
.swft-breadcrumb a { color: #475569; text-decoration: none; font-weight: 650; }
.swft-breadcrumb a:hover { color: #2563eb; }
.swft-breadcrumb [aria-current="page"] { color: #0f1f36; font-weight: 750; }

/* Align all tool pages to the public website grid. */
.swft-public-shell .tool-hero-inner,
.swft-public-shell .tool-panel,
.swft-public-shell .tool-loading,
.swft-public-shell .tool-error,
.swft-public-shell .tool-results,
.swft-public-shell .tool-bottom-nav,
.swft-public-shell .growth-lead-shell,
.swft-public-shell .growth-loading,
.swft-public-shell .growth-results,
.swft-public-shell .growth-content-section {
    width: min(1040px, calc(100% - 40px));
    max-width: 1040px;
}

.swft-public-shell .tool-hero {
    padding-left: 20px;
    padding-right: 20px;
}
.swft-public-shell .tool-hero-inner {
    margin-left: auto;
    margin-right: auto;
}
.swft-public-shell .tool-panel,
.swft-public-shell .tool-loading,
.swft-public-shell .tool-error,
.swft-public-shell .tool-results,
.swft-public-shell .tool-bottom-nav {
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}

.swft-public-shell .tool-input-card,
.swft-public-shell .growth-form-card,
.swft-public-shell .result-section,
.swft-public-shell .growth-content-main,
.swft-public-shell .growth-aside-card {
    border-color: var(--swft-border);
    box-shadow: 0 16px 44px rgba(15,31,54,.07);
}

.swft-public-shell input,
.swft-public-shell select,
.swft-public-shell textarea,
.swft-public-shell button {
    font: inherit;
}
.swft-public-shell input,
.swft-public-shell select,
.swft-public-shell textarea {
    max-width: 100%;
}
.swft-public-shell button,
.swft-public-shell a {
    -webkit-tap-highlight-color: transparent;
}
.swft-public-shell :focus-visible {
    outline: 3px solid rgba(37,99,235,.28);
    outline-offset: 2px;
}

.swft-public-shell .tool-seo-content,
.swft-public-shell .growth-content-main {
    color: #475569;
    line-height: 1.75;
}
.swft-public-shell .tool-seo-content h2,
.swft-public-shell .growth-content-main h2 {
    color: var(--swft-ink);
    line-height: 1.2;
}

.swft-public-shell .tool-save-banner {
    width: min(1040px, calc(100% - 40px));
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
}

.swft-public-shell .growth-account-card {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 15px 17px;
    border: 1px solid #bfdbfe;
    border-radius: 13px;
    background: #eff6ff;
    color: #1e3a5f;
}
.swft-public-shell .growth-account-card__icon {
    display: grid;
    place-items: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: #dbeafe;
    color: #1d4ed8;
    font-weight: 900;
}
.swft-public-shell .growth-account-card strong,
.swft-public-shell .growth-account-card span { display: block; }
.swft-public-shell .growth-account-card span { margin-top: 2px; color: #475569; font-size: .83rem; }
.swft-public-shell .growth-account-card a { margin-left: auto; color: #1d4ed8; font-size: .8rem; font-weight: 800; text-decoration: none; }

.swft-public-shell .growth-portal-status {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 16px;
    padding: 12px 14px;
    border: 1px solid #bbf7d0;
    border-radius: 11px;
    background: #f0fdf4;
    color: #166534;
    font-size: .86rem;
    font-weight: 700;
}
.swft-public-shell .growth-portal-status a { margin-left: auto; color: #166534; }

@media (max-width: 1040px) {
    .swft-tools-bar__inner {
        grid-template-columns: auto minmax(0,1fr);
        gap: 12px;
        padding: 8px 0;
    }
    .swft-tools-account { grid-column: 1 / -1; justify-content: flex-start; min-height: 32px; border-top: 1px solid #eef2f7; padding-top: 7px; }
}

@media (max-width: 760px) {
    .swft-tools-bar__inner,
    .swft-breadcrumb__inner,
    .swft-public-shell .tool-hero-inner,
    .swft-public-shell .tool-panel,
    .swft-public-shell .tool-loading,
    .swft-public-shell .tool-error,
    .swft-public-shell .tool-results,
    .swft-public-shell .tool-bottom-nav,
    .swft-public-shell .growth-lead-shell,
    .swft-public-shell .growth-loading,
    .swft-public-shell .growth-results,
    .swft-public-shell .growth-content-section,
    .swft-public-shell .tool-save-banner {
        width: min(100% - 28px, 1040px);
    }
    .swft-tools-bar__inner { display: flex; flex-wrap: wrap; }
    .swft-tools-home { min-height: 42px; }
    .swft-tools-links { order: 3; width: calc(100% + 14px); margin-right: -14px; padding-bottom: 5px; }
    .swft-tools-account { order: 2; margin-left: auto; border: 0; padding: 0; }
    .swft-account-copy, .swft-connected-dot { display: none; }
    .swft-public-shell .tool-hero { padding: 38px 14px 50px; }
    .swft-public-shell .tool-input-card,
    .swft-public-shell .growth-form-card { padding: 22px 18px; }
    .swft-public-shell .tool-input-row { align-items: stretch; }
    .swft-public-shell .tool-input-row > * { width: 100%; min-width: 0; }
    .swft-public-shell .tool-btn-run,
    .swft-public-shell .tool-btn-secondary { justify-content: center; }
    .swft-public-shell .growth-account-card { align-items: flex-start; flex-wrap: wrap; }
    .swft-public-shell .growth-account-card a { margin-left: 51px; }
}

@media (max-width: 480px) {
    .swft-tools-account { width: 100%; justify-content: flex-start; }
    .swft-signin-link { width: 100%; justify-content: center; }
    .swft-public-shell .tool-hero-icon { width: 58px; height: 58px; font-size: 1.75rem; border-radius: 15px; }
    .swft-public-shell .tool-hero h1 { letter-spacing: -.55px; }
}

@media print {
    .site-header,
    .mobile-nav,
    .swft-tools-bar,
    .swft-breadcrumb,
    .site-footer,
    .tool-save-banner,
    .growth-result-cta,
    .growth-print-btn { display: none !important; }
    .free-tools-page #main-content,
    .swft-public-shell { background: #fff !important; }
}


.swft-shared-faq {
    padding: 24px 20px 72px;
    background: #f5f7fb;
}
.swft-shared-faq__inner {
    width: min(1040px, 100%);
    margin: 0 auto;
    padding: 32px;
    border: 1px solid var(--swft-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 44px rgba(15,31,54,.07);
}
.swft-shared-faq__eyebrow {
    margin: 0 0 8px;
    color: #2563eb;
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.swft-shared-faq h2 {
    margin: 0 0 20px;
    color: var(--swft-ink);
    font-size: clamp(1.45rem, 3vw, 2rem);
    line-height: 1.2;
}
.swft-shared-faq__list {
    display: grid;
    gap: 12px;
}
.swft-shared-faq details {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
}
.swft-shared-faq summary {
    cursor: pointer;
    padding: 16px 18px;
    color: #0f1f36;
    font-weight: 800;
}
.swft-shared-faq details p {
    margin: 0;
    padding: 0 18px 18px;
    color: #475569;
    line-height: 1.7;
}
@media (max-width: 760px) {
    .swft-shared-faq { padding: 18px 14px 54px; }
    .swft-shared-faq__inner { padding: 24px 18px; }
}
