/*
Theme Name: ToolsLovea
Theme URI: https://toolslovea.com/
Author: ToolsLovea
Description: Fast, responsive WordPress theme for browser-based utility tools.
Version: 2.4.1
Text Domain: toolslovea
*/

html, body {
    margin: 0;
    padding: 0;
}

body {
    min-height: 100vh;
}

a {
    color: inherit;
}

img {
    max-width: 100%;
}

/* ToolsLovea content + feedback layer */
.content-page { padding: 56px 0 80px; }
.content-page-header, .content-article-header { max-width: 820px; margin: 0 auto 32px; }
.content-page-header h1, .content-article-header h1 { margin: 0 0 12px; }
.content-meta, .content-page-header p { opacity: .72; }
.content-article { max-width: 900px; margin: 0 auto; }
.content-article .entry-content { line-height: 1.8; }
.content-featured-image img { border-radius: 18px; margin-bottom: 28px; }
.post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.post-card { border:1px solid var(--border-color,#e5e7eb); border-radius:18px; overflow:hidden; background:var(--card-bg,#fff); }
.post-card a { display:block; text-decoration:none; height:100%; }
.post-card img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.post-card-body { padding:20px; }
.post-card h2 { margin:0 0 10px; font-size:1.15rem; }
.post-card p { opacity:.75; line-height:1.6; }
.category-seo-intro { max-width:850px; margin:0 auto 28px; line-height:1.7; opacity:.78; }
.tool-topic-line { opacity:.78; }
.feedback-section { padding:64px 1.5rem 40px; margin-top:30px; box-sizing:border-box; }
.feedback-inner { width:100%; max-width:1280px; box-sizing:border-box; margin:0 auto; padding:32px; border:1px solid var(--border-color,#e5e7eb); border-radius:24px; background:var(--card-bg,#fff); }
.feedback-copy { max-width:650px; margin-bottom:24px; }
.section-eyebrow { font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; opacity:.65; }
.feedback-form { display:grid; gap:16px; }
.feedback-form label { display:grid; gap:7px; font-weight:600; }
.feedback-form input, .feedback-form select, .feedback-form textarea { width:100%; box-sizing:border-box; border:1px solid var(--border-color,#d9dde5); border-radius:12px; padding:12px 14px; font:inherit; background:transparent; color:inherit; }
.feedback-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.feedback-submit { justify-self:start; border:0; border-radius:12px; padding:12px 20px; font-weight:700; cursor:pointer; }
.feedback-honeypot { position:absolute !important; left:-10000px !important; width:1px; height:1px; overflow:hidden; }
.feedback-notice { margin-bottom:18px; padding:12px 14px; border-radius:12px; }
.feedback-success { background:rgba(34,197,94,.1); }
.feedback-error { background:rgba(239,68,68,.1); }
.feedback-list-wrap { max-width:1000px; margin:32px auto 0; }
.feedback-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.feedback-card { padding:20px; border:1px solid var(--border-color,#e5e7eb); border-radius:16px; background:var(--card-bg,#fff); }
.feedback-stars { letter-spacing:.08em; margin-bottom:10px; }
.feedback-card p { line-height:1.6; opacity:.82; }
@media (max-width:800px){.post-grid,.feedback-list{grid-template-columns:1fr 1fr}.feedback-form-grid{grid-template-columns:1fr}}
@media (max-width:560px){.post-grid,.feedback-list{grid-template-columns:1fr}.feedback-inner{padding:22px}.feedback-section{padding-left:16px;padding-right:16px}}
/* Blog / Guides expansion */
.guide-filter{display:flex;align-items:center;gap:12px;max-width:1000px;margin:0 auto 28px;padding:14px 16px;border:1px solid var(--border-color,#e5e7eb);border-radius:16px;background:var(--card-bg,#fff)}
.guide-filter label{font-weight:700}.guide-filter select{min-width:220px;border:1px solid var(--border-color,#d9dde5);border-radius:10px;padding:10px 12px;background:transparent;color:inherit;font:inherit}.guide-pagination{margin:34px 0;text-align:center}.guide-pagination ul{display:flex;justify-content:center;gap:8px;list-style:none;padding:0}.guide-pagination a,.guide-pagination span{display:inline-flex;min-width:38px;height:38px;align-items:center;justify-content:center;border:1px solid var(--border-color,#e5e7eb);border-radius:10px;text-decoration:none}.related-guides{margin-top:42px}.related-guides-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.content-meta{font-size:.84rem}
@media(max-width:700px){.guide-filter{align-items:stretch;flex-direction:column}.guide-filter select{width:100%}.related-guides-grid{grid-template-columns:1fr}}

/* v12.4 homepage SEO and discovery sections */
.home-seo-section{padding:72px 0}.home-popular-section,.home-guides-section{background:var(--page-bg,#f8fafc)}
[data-theme="dark"] .home-popular-section,
[data-theme="dark"] .home-guides-section { background: var(--bg-primary); }
.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.section-heading-row h2,.section-heading-centered h2{margin:4px 0 10px}.section-heading-row p,.section-heading-centered p{max-width:720px;margin:0;line-height:1.7;opacity:.75}.section-heading-link{white-space:nowrap;text-decoration:none;font-weight:700}.section-heading-centered{text-align:center;margin:0 auto 34px;max-width:780px}
.home-featured-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.home-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.home-process-card{padding:28px;border:1px solid var(--border-color,#e5e7eb);border-radius:20px;background:var(--card-bg,#fff)}.home-process-card>span{font-weight:800;opacity:.55}.home-process-card h3{margin:14px 0 8px}.home-process-card p{margin:0;line-height:1.65;opacity:.75}
.home-guides-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-empty-guides{padding:28px;border:1px dashed var(--border-color,#d9dde5);border-radius:18px;opacity:.75}.home-why-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.home-why-grid>div>p{line-height:1.8;opacity:.78}.home-benefit-list{display:grid;gap:12px}.home-benefit-list>div{padding:18px 20px;border:1px solid var(--border-color,#e5e7eb);border-radius:16px;background:var(--card-bg,#fff)}.home-benefit-list strong,.home-benefit-list span{display:block}.home-benefit-list span{margin-top:5px;line-height:1.55;opacity:.72}
.home-faq-list{max-width:900px;margin:0 auto;display:grid;gap:12px}.home-faq-list details{border:1px solid var(--border-color,#e5e7eb);border-radius:16px;background:var(--card-bg,#fff);padding:0 20px}.home-faq-list summary{cursor:pointer;font-weight:700;padding:20px 0}.home-faq-list details p{margin:0 0 20px;line-height:1.7;opacity:.75}
@media(max-width:1000px){.home-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-why-grid{grid-template-columns:1fr}.home-process-grid{grid-template-columns:1fr}}
@media(max-width:650px){.home-seo-section{padding:52px 0}.section-heading-row{align-items:start;flex-direction:column}.section-heading-link{margin-top:2px}.home-featured-grid,.home-guides-grid{grid-template-columns:1fr}}

/* =========================================================
   GUIDE ARTICLE — PREMIUM EDITORIAL READING LAYOUT
   Scoped to single guide posts only; existing tools/pages remain unchanged.
   ========================================================= */
.blog-single-page {
    padding: 56px 0 96px;
}

.blog-single-page .narrow-container {
    max-width: 960px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}

.blog-single-page .blog-article {
    width: 100%;
}

.blog-single-page .article-eyebrow {
    max-width: 760px;
    margin: 0 auto 14px;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-secondary);
}

.blog-single-page .blog-article > h1 {
    max-width: 760px;
    margin: 0 auto 14px;
    font-size: clamp(2.15rem, 4vw, 3.25rem);
    line-height: 1.12;
    letter-spacing: -0.035em;
    font-weight: 800;
    text-wrap: balance;
}

.blog-single-page .article-meta {
    max-width: 760px;
    margin: 0 auto 38px;
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--text-muted);
}

.blog-single-page .article-featured-image {
    width: 100%;
    margin: 0 auto 44px;
}

.blog-single-page .article-featured-image img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    border-radius: 20px;
    box-shadow: var(--shadow-md);
}

.blog-single-page .article-content {
    max-width: 760px;
    margin: 0 auto;
    font-size: 1.08rem;
    line-height: 1.82;
    color: var(--text-primary);
}

.blog-single-page .article-content > * {
    max-width: 100%;
}

.blog-single-page .article-content p {
    margin: 0 0 1.45em;
}

.blog-single-page .article-content p:last-child {
    margin-bottom: 0;
}

.blog-single-page .article-content h2 {
    margin: 2.4em 0 0.7em;
    font-size: clamp(1.55rem, 2.4vw, 2rem);
    line-height: 1.25;
    letter-spacing: -0.02em;
    font-weight: 800;
}

.blog-single-page .article-content h3 {
    margin: 2em 0 0.65em;
    font-size: 1.3rem;
    line-height: 1.35;
    font-weight: 750;
}

.blog-single-page .article-content ul,
.blog-single-page .article-content ol {
    margin: 0 0 1.55em;
    padding-left: 1.45em;
}

.blog-single-page .article-content li {
    margin: 0 0 0.6em;
    padding-left: 0.2em;
}

.blog-single-page .article-content blockquote {
    margin: 2em 0;
    padding: 1.15em 1.4em;
    border-left: 3px solid var(--accent-color);
    background: var(--accent-light);
    border-radius: 0 12px 12px 0;
}

.blog-single-page .article-content figure.wp-block-image,
.blog-single-page .article-content .wp-block-image {
    margin: 2.5rem auto;
}

.blog-single-page .article-content figure.wp-block-image img,
.blog-single-page .article-content .wp-block-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 16px;
}

.blog-single-page .article-content figcaption,
.blog-single-page .article-content .wp-element-caption {
    margin-top: 10px;
    font-size: 0.84rem;
    line-height: 1.55;
    text-align: center;
    color: var(--text-muted);
}

.blog-single-page .article-content a {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.blog-single-page .article-content hr {
    margin: 3rem 0;
    border: 0;
    border-top: 1px solid var(--border-color);
}

.blog-single-page .guide-tool-cta,
.blog-single-page .related-guides {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.blog-single-page .guide-tool-cta {
    margin-top: 72px;
}

.blog-single-page .related-guides {
    margin-top: 64px;
}

@media (max-width: 760px) {
    .blog-single-page {
        padding: 40px 0 72px;
    }

    .blog-single-page .narrow-container {
        padding-left: 18px;
        padding-right: 18px;
    }

    .blog-single-page .article-meta {
        margin-bottom: 28px;
    }

    .blog-single-page .article-featured-image {
        margin-bottom: 34px;
    }

    .blog-single-page .article-featured-image img {
        border-radius: 16px;
    }

    .blog-single-page .article-content {
        font-size: 1rem;
        line-height: 1.78;
    }

    .blog-single-page .article-content h2 {
        margin-top: 2.05em;
    }

    .blog-single-page .article-content figure.wp-block-image,
    .blog-single-page .article-content .wp-block-image {
        margin-top: 2rem;
        margin-bottom: 2rem;
    }
}

/* =========================================================
   APPROVED VISITOR REVIEWS — HOMEPAGE
   Added for the moderated What Users Say section only.
   ========================================================= */
.home-reviews-section {
    padding: 88px 0 92px;
    background: var(--bg-primary, #f8fafc);
    color: var(--text-primary, #0f172a);
}
.home-reviews-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}
.home-reviews-heading {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}
.home-reviews-heading > span {
    display: block;
    margin-bottom: 8px;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #8f9aad;
}
.home-reviews-heading h2 {
    margin: 0 0 10px;
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.08;
    letter-spacing: -.035em;
    font-weight: 800;
}
.home-reviews-heading p {
    margin: 0;
    color: #9ca6b5;
    line-height: 1.7;
}
.home-reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}
.home-review-card {
    min-width: 0;
    padding: 28px 30px 26px;
    border: 1px solid var(--border-color);
    border-radius: 24px;
    background: var(--card-bg);
    box-shadow: var(--shadow-lg);
}
.home-review-stars {
    margin-bottom: 22px;
    color: #ffd21a;
    font-size: 1rem;
    letter-spacing: .1em;
}
.home-review-card blockquote {
    margin: 0;
    min-height: 128px;
    color: var(--text-secondary);
    font-size: 1.05rem;
    line-height: 1.8;
    font-style: italic;
}
.home-review-person {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid var(--border-color);
}
.home-review-avatar {
    flex: 0 0 56px;
    width: 56px !important;
    height: 56px !important;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid #12c9ff;
}
.home-review-person strong,
.home-review-person span {
    display: block;
}
.home-review-person strong {
    color: var(--text-primary);
    font-size: .98rem;
}
.home-review-person span {
    margin-top: 4px;
    color: var(--accent-color, #1473e6);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.feedback-optional {
    font-weight: 400;
    opacity: .6;
}
.feedback-photo-note {
    margin: -7px 0 0;
    font-size: .82rem;
    line-height: 1.5;
    opacity: .65;
}
@media (max-width: 900px) {
    .home-reviews-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
    .home-reviews-section { padding: 64px 0 68px; }
    .home-reviews-container { width: min(100% - 28px, 560px); }
    .home-reviews-grid { grid-template-columns: 1fr; }
    .home-review-card blockquote { min-height: 0; }
}


/* =========================================================
   LEGAL / INFORMATION PAGES
   ========================================================= */
.toolslovea-legal-page .entry-content{
    line-height:1.8;
}

.toolslovea-legal-page .entry-content h2{
    margin:2.1rem 0 .7rem;
    color:var(--text-primary);
    font-size:1.35rem;
    line-height:1.3;
    font-weight:800;
    letter-spacing:-.015em;
}

.toolslovea-legal-page .entry-content p{
    margin:0 0 1rem;
}

.toolslovea-legal-page .entry-content ul{
    margin:0 0 1.1rem;
    padding-left:1.35rem;
}

.toolslovea-legal-page .entry-content li{
    margin:0 0 .45rem;
}

.toolslovea-legal-page .legal-updated{
    margin-bottom:1.5rem;
    color:var(--text-muted);
    font-size:.9rem;
}

