/*
Theme Name: FillDesk Theme
Theme URI: https://pdfeditingtool.com/
Author: ebiz212
Author URI: https://profiles.wordpress.org/ebiz212/
Description: A full-width, responsive online PDF editor and forms library theme built for the 007AJ FillDesk plugin. Sticky header with form search, a big upload hero, popular forms, categories, how-it-works, features, pricing pulled from FillDesk, FAQ and a multi-column footer. Branded front-end sign in, registration, password reset and account dashboard. Works as a normal blog theme without the plugin.
Version: 1.1.0
Requires at least: 6.3
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: filldesk-theme
Tags: one-column, custom-logo, custom-colors, custom-menu, featured-images, footer-widgets, full-width-template, sticky-post, threaded-comments, translation-ready, business, blog
*/

/* 1. Base */
:root{--ft-primary:#1d4ed8;--ft-primary-dark:#1e3a8a;--ft-accent:#22c55e;--ft-ink:#0f172a;--ft-text:#334155;--ft-muted:#64748b;--ft-line:#e2e8f0;--ft-soft:#f1f5ff;--ft-bg:#ffffff;--ft-radius:14px;--ft-shadow:0 10px 30px rgba(15,23,42,.08);--ft-max:1200px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.65;color:var(--ft-text);background:var(--ft-bg);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--ft-primary)}
a:hover,a:focus{color:var(--ft-primary-dark)}
h1,h2,h3,h4,h5,h6{color:var(--ft-ink);line-height:1.2;margin:0 0 .6em;font-weight:800;letter-spacing:-.015em}
h1{font-size:clamp(2rem,4.2vw,3.25rem)}h2{font-size:clamp(1.6rem,3vw,2.35rem)}h3{font-size:1.25rem}
p{margin:0 0 1em}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background:#fff;clip:auto!important;clip-path:none;color:var(--ft-ink);display:block;font-size:1rem;height:auto;left:8px;padding:12px 20px;top:8px;width:auto;z-index:100000}
.ft-container{width:100%;max-width:var(--ft-max);margin:0 auto;padding:0 24px}
.ft-container--narrow{max-width:860px}
.ft-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.8em 1.5em;border-radius:10px;font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer;font-size:1rem;line-height:1.2;transition:transform .15s,box-shadow .15s,background .15s}
.ft-btn--primary{background:var(--ft-primary);color:#fff}
.ft-btn--primary:hover,.ft-btn--primary:focus{background:var(--ft-primary-dark);color:#fff;transform:translateY(-1px);box-shadow:0 8px 18px rgba(29,78,216,.3)}
.ft-btn--accent{background:var(--ft-accent);color:#fff}
.ft-btn--accent:hover,.ft-btn--accent:focus{color:#fff;filter:brightness(1.06);transform:translateY(-1px)}
.ft-btn--ghost{background:transparent;border-color:var(--ft-line);color:var(--ft-ink)}
.ft-btn--ghost:hover,.ft-btn--ghost:focus{border-color:var(--ft-primary);color:var(--ft-primary)}
.ft-btn--white{background:#fff;color:var(--ft-primary)}
.ft-btn--white:hover,.ft-btn--white:focus{color:var(--ft-primary-dark);transform:translateY(-1px)}
.ft-btn--lg{padding:1em 2em;font-size:1.1rem}
.ft-btn--sm{padding:.55em 1em;font-size:.92rem}
:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}

/* 2. Header */
.ft-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.96);backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid transparent;transition:box-shadow .2s,border-color .2s}
.admin-bar .ft-header{top:32px}
@media (max-width:782px){.admin-bar .ft-header{top:46px}}
@media (max-width:600px){.admin-bar .ft-header{top:0}}
.ft-header.is-scrolled{box-shadow:0 4px 20px rgba(15,23,42,.08);border-color:var(--ft-line)}
.ft-header__inner{display:flex;align-items:center;gap:24px;min-height:72px}
.ft-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ft-ink);font-weight:800;font-size:1.35rem;letter-spacing:-.02em;flex-shrink:0}
.ft-brand:hover{color:var(--ft-ink)}
.ft-brand__mark{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--ft-primary),#60a5fa);color:#fff}
.ft-brand img,.custom-logo{max-height:44px;width:auto;display:block}
.ft-nav{flex:1}
.ft-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center}
.ft-nav li{position:relative}
.ft-nav a{display:block;padding:10px 14px;border-radius:8px;color:var(--ft-ink);text-decoration:none;font-weight:600;font-size:.98rem}
.ft-nav a:hover,.ft-nav a:focus,.ft-nav .current-menu-item>a{background:var(--ft-soft);color:var(--ft-primary)}
.ft-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;background:#fff;border:1px solid var(--ft-line);border-radius:12px;box-shadow:var(--ft-shadow);padding:8px;flex-direction:column;align-items:stretch}
.ft-nav li:hover>.sub-menu,.ft-nav li:focus-within>.sub-menu{display:flex}
.ft-search{position:relative;width:240px}
.ft-search input[type=search]{width:100%;height:42px;border:1px solid var(--ft-line);border-radius:999px;padding:0 16px 0 40px;font-size:.95rem;background:#f8fafc;color:var(--ft-ink)}
.ft-search input[type=search]:focus{outline:none;border-color:var(--ft-primary);background:#fff;box-shadow:0 0 0 3px rgba(29,78,216,.15)}
.ft-search__icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ft-muted);pointer-events:none}
.ft-search button{position:absolute;right:4px;top:4px;height:34px;padding:0 12px;border:0;border-radius:999px;background:var(--ft-primary);color:#fff;font-weight:700;cursor:pointer;font-size:.85rem}
.ft-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.ft-actions .ft-link{color:var(--ft-ink);font-weight:600;text-decoration:none;padding:8px 10px}
.ft-actions .ft-link:hover{color:var(--ft-primary)}
.ft-menu-toggle{display:none;background:none;border:1px solid var(--ft-line);border-radius:10px;width:44px;height:44px;cursor:pointer;color:var(--ft-ink);align-items:center;justify-content:center}
@media (max-width:1100px){.ft-search{width:180px}}
@media (max-width:960px){
.ft-menu-toggle{display:inline-flex;margin-left:auto}
.ft-header__inner{flex-wrap:wrap;gap:12px;min-height:64px}
.ft-panel{display:none;width:100%;padding:8px 0 18px;flex-direction:column;align-items:stretch;gap:12px}
.ft-header.is-open .ft-panel{display:flex}
.ft-nav ul{flex-direction:column;align-items:stretch}
.ft-nav .sub-menu{position:static;display:flex;box-shadow:none;border:0;padding-left:16px}
.ft-search{width:100%}
.ft-actions{justify-content:stretch}.ft-actions .ft-btn{flex:1}
}
@media (min-width:961px){.ft-panel{display:flex;align-items:center;gap:20px;flex:1}}

/* 3. Hero */
.ft-hero{position:relative;overflow:hidden;background:radial-gradient(1200px 500px at 85% -10%,#dbeafe 0,rgba(219,234,254,0) 60%),linear-gradient(180deg,#f5f8ff 0,#fff 100%);padding:72px 0 64px}
.ft-hero__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.ft-eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--ft-line);color:var(--ft-primary);font-weight:700;font-size:.85rem;padding:6px 14px;border-radius:999px;margin-bottom:18px;box-shadow:0 2px 8px rgba(15,23,42,.05)}
.ft-eyebrow__dot{width:8px;height:8px;border-radius:50%;background:var(--ft-accent)}
.ft-hero h1{margin-bottom:18px}
.ft-hero h1 em{font-style:normal;color:var(--ft-primary)}
.ft-hero__lead{font-size:1.2rem;color:var(--ft-text);max-width:560px;margin-bottom:26px}
.ft-hero__search{display:flex;max-width:540px;background:#fff;border:1px solid var(--ft-line);border-radius:14px;padding:6px;box-shadow:var(--ft-shadow)}
.ft-hero__search input{flex:1;border:0;padding:0 14px;font-size:1.02rem;min-width:0;background:transparent;color:var(--ft-ink)}
.ft-hero__search input:focus{outline:none}
.ft-hero__checks{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px;color:var(--ft-ink);font-weight:600;font-size:.95rem}
.ft-hero__checks li{display:flex;align-items:center;gap:8px}
.ft-hero__checks svg{color:var(--ft-accent);flex-shrink:0}
.ft-drop{background:#fff;border-radius:22px;box-shadow:0 24px 60px rgba(29,78,216,.18);padding:22px;position:relative}
.ft-drop__zone{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;border:2.5px dashed #93c5fd;border-radius:16px;background:linear-gradient(180deg,#f8fbff,#eef4ff);padding:46px 24px;min-height:320px;text-decoration:none;color:var(--ft-ink);transition:background .2s,border-color .2s}
.ft-drop__zone:hover,.ft-drop__zone:focus,.ft-drop__zone.is-drag{border-color:var(--ft-primary);background:#e8f0ff;color:var(--ft-ink)}
.ft-drop__icon{width:78px;height:78px;border-radius:20px;display:grid;place-items:center;background:var(--ft-primary);color:#fff;box-shadow:0 12px 24px rgba(29,78,216,.35)}
.ft-drop__title{font-size:1.4rem;font-weight:800;margin:0}
.ft-drop__sub{color:var(--ft-muted);margin:0;font-size:.95rem}
.ft-drop__foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:14px;font-size:.85rem;color:var(--ft-muted)}
.ft-drop__foot span{display:inline-flex;align-items:center;gap:6px}
.ft-drop__badge{position:absolute;top:-14px;right:22px;background:var(--ft-accent);color:#fff;font-weight:800;font-size:.8rem;padding:6px 12px;border-radius:999px;box-shadow:0 6px 14px rgba(34,197,94,.35)}
@media (max-width:960px){.ft-hero{padding:44px 0}.ft-hero__grid{grid-template-columns:1fr;gap:36px}.ft-drop__zone{min-height:240px;padding:32px 18px}}

/* 4. Strip */
.ft-strip{border-top:1px solid var(--ft-line);border-bottom:1px solid var(--ft-line);background:#fff}
.ft-strip__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:26px 0;text-align:center}
.ft-strip strong{display:block;font-size:1.7rem;color:var(--ft-ink);font-weight:800;line-height:1.1}
.ft-strip span{color:var(--ft-muted);font-size:.92rem}
@media (max-width:700px){.ft-strip__grid{grid-template-columns:repeat(2,1fr)}}

/* 5. Sections */
.ft-section{padding:84px 0}
.ft-section--soft{background:var(--ft-soft)}
.ft-section--dark{background:var(--ft-ink);color:#cbd5e1}
.ft-section--dark h2,.ft-section--dark h3{color:#fff}
.ft-section__head{text-align:center;max-width:720px;margin:0 auto 46px}
.ft-section__head p{font-size:1.12rem;color:var(--ft-muted);margin:0}
.ft-section__kicker{display:block;color:var(--ft-primary);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;margin-bottom:10px}
.ft-section__more{text-align:center;margin-top:40px}
@media (max-width:700px){.ft-section{padding:56px 0}}

/* 6. Form cards */
.ft-forms{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:24px;list-style:none;margin:0;padding:0}
.ft-card{background:#fff;border:1px solid var(--ft-line);border-radius:var(--ft-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s}
.ft-card:hover{transform:translateY(-4px);box-shadow:var(--ft-shadow);border-color:#bfdbfe}
.ft-card__thumb{display:block;background:#f1f5f9;aspect-ratio:4/4.4;overflow:hidden;border-bottom:1px solid var(--ft-line);padding:16px 22px 0}
.ft-card__thumb img{width:100%;height:auto;display:block;box-shadow:0 4px 14px rgba(15,23,42,.14);border-radius:3px 3px 0 0}
.ft-card__ph{display:grid;place-items:center;height:100%;color:#94a3b8}
.ft-card__body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.ft-card__cat{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ft-primary)}
.ft-card__title{font-size:1.05rem;margin:0}
.ft-card__title a{color:var(--ft-ink);text-decoration:none}
.ft-card__title a:hover{color:var(--ft-primary)}
.ft-card__excerpt{font-size:.9rem;color:var(--ft-muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ft-card__actions{margin-top:auto;display:flex;gap:8px;padding-top:6px}
.ft-card__actions .ft-btn{flex:1}

/* 7. Categories */
.ft-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;list-style:none;margin:0;padding:0}
.ft-cat{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--ft-line);border-radius:var(--ft-radius);padding:22px;text-decoration:none;color:var(--ft-ink);transition:box-shadow .2s,transform .2s,border-color .2s}
.ft-cat:hover,.ft-cat:focus{box-shadow:var(--ft-shadow);transform:translateY(-3px);border-color:#bfdbfe;color:var(--ft-ink)}
.ft-cat__icon{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:var(--ft-soft);color:var(--ft-primary);flex-shrink:0}
.ft-cat strong{display:block;font-size:1.08rem}
.ft-cat span{color:var(--ft-muted);font-size:.9rem}
.ft-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 34px;padding:0;list-style:none}
.ft-chips a{display:inline-block;padding:8px 16px;border-radius:999px;background:#fff;border:1px solid var(--ft-line);color:var(--ft-ink);text-decoration:none;font-weight:600;font-size:.92rem}
.ft-chips a:hover,.ft-chips a.is-active{background:var(--ft-primary);border-color:var(--ft-primary);color:#fff}

/* 8. Steps & features */
.ft-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;counter-reset:step}
.ft-step{background:#fff;border:1px solid var(--ft-line);border-radius:var(--ft-radius);padding:32px 28px;position:relative}
.ft-step__num{width:48px;height:48px;border-radius:50%;background:var(--ft-primary);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.2rem;margin-bottom:18px;box-shadow:0 8px 18px rgba(29,78,216,.3)}
.ft-step p{margin:0;color:var(--ft-muted)}
.ft-features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ft-feature{padding:28px;border-radius:var(--ft-radius);background:#fff;border:1px solid var(--ft-line)}
.ft-feature__icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--ft-primary),#60a5fa);color:#fff;margin-bottom:16px}
.ft-feature p{margin:0;color:var(--ft-muted);font-size:.97rem}
@media (max-width:900px){.ft-steps,.ft-features{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.ft-steps,.ft-features{grid-template-columns:1fr}}

/* 9. Pricing */
.ft-pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;align-items:stretch}
.ft-plan{background:#fff;border:1px solid var(--ft-line);border-radius:18px;padding:32px 26px;display:flex;flex-direction:column;position:relative}
.ft-plan--featured{border:2px solid var(--ft-primary);box-shadow:0 20px 44px rgba(29,78,216,.18)}
.ft-plan__tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--ft-primary);color:#fff;font-size:.75rem;font-weight:800;padding:5px 14px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.ft-plan h3{margin-bottom:4px}
.ft-plan__desc{color:var(--ft-muted);font-size:.93rem;min-height:2.8em}
.ft-plan__price{font-size:2.6rem;font-weight:800;color:var(--ft-ink);line-height:1;margin:10px 0 4px}
.ft-plan__per{color:var(--ft-muted);font-size:.9rem;margin-bottom:20px}
.ft-plan ul{list-style:none;margin:0 0 26px;padding:0;flex:1}
.ft-plan li{padding:7px 0 7px 28px;position:relative;font-size:.95rem;border-bottom:1px dashed var(--ft-line)}
.ft-plan li::before{content:"";position:absolute;left:2px;top:13px;width:14px;height:8px;border-left:3px solid var(--ft-accent);border-bottom:3px solid var(--ft-accent);transform:rotate(-45deg)}
.ft-pricing__note{text-align:center;color:var(--ft-muted);margin-top:26px;font-size:.95rem}

/* 10. Trust & testimonials */
.ft-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.ft-trust__item{text-align:center;padding:10px}
.ft-trust__icon{width:60px;height:60px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#93c5fd}
.ft-trust__item p{color:#94a3b8;font-size:.95rem;margin:0}
.ft-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.ft-quote{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--ft-radius);padding:26px;margin:0}
.ft-quote__stars{color:#facc15;letter-spacing:2px;margin-bottom:10px}
.ft-quote p{color:#e2e8f0}
.ft-quote cite{font-style:normal;font-weight:700;color:#fff}
@media (max-width:900px){.ft-trust{grid-template-columns:1fr 1fr}.ft-quotes{grid-template-columns:1fr}}

/* 11. FAQ */
.ft-faq{max-width:860px;margin:0 auto}
.ft-faq details{background:#fff;border:1px solid var(--ft-line);border-radius:12px;margin-bottom:12px;padding:0 22px}
.ft-faq summary{cursor:pointer;list-style:none;padding:18px 30px 18px 0;font-weight:700;color:var(--ft-ink);position:relative;font-size:1.05rem}
.ft-faq summary::-webkit-details-marker{display:none}
.ft-faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--ft-primary);font-weight:400}
.ft-faq details[open] summary::after{content:"\2212"}
.ft-faq details p{margin:0;padding:0 0 18px;color:var(--ft-muted)}

/* 12. CTA */
.ft-cta{background:linear-gradient(120deg,var(--ft-primary) 0,var(--ft-primary-dark) 100%);color:#dbeafe;border-radius:24px;padding:56px 40px;text-align:center;position:relative;overflow:hidden}
.ft-cta h2{color:#fff}
.ft-cta p{font-size:1.15rem;max-width:620px;margin:0 auto 26px}
.ft-cta__wrap{padding:0 0 84px}

/* 13. Page header & content */
.ft-pagehead{background:linear-gradient(180deg,#f5f8ff,#fff);padding:56px 0 36px;border-bottom:1px solid var(--ft-line)}
.ft-pagehead h1{margin:0 0 8px}
.ft-pagehead p{color:var(--ft-muted);font-size:1.12rem;margin:0;max-width:760px}
.ft-pagehead .ft-hero__search{margin-top:22px}
.ft-crumbs{font-size:.88rem;color:var(--ft-muted);margin-bottom:12px}
.ft-crumbs a{color:var(--ft-muted);text-decoration:none}.ft-crumbs a:hover{color:var(--ft-primary)}
.ft-main{padding:48px 0 72px}
.ft-content>*:first-child{margin-top:0}
.ft-content h2{margin-top:1.6em}
.ft-content h3{margin-top:1.4em}
.ft-content ul,.ft-content ol{padding-left:1.3em}
.ft-content blockquote{border-left:4px solid var(--ft-primary);margin:1.5em 0;padding:.4em 1.2em;background:var(--ft-soft);border-radius:0 10px 10px 0}
.ft-content table{width:100%;border-collapse:collapse;margin:1.5em 0}
.ft-content th,.ft-content td{border:1px solid var(--ft-line);padding:10px 12px;text-align:left}
.ft-content .alignwide{max-width:calc(var(--ft-max) - 48px)}
.ft-content .alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}
.alignleft{float:left;margin:0 1.5em 1em 0}.alignright{float:right;margin:0 0 1em 1.5em}.aligncenter{display:block;margin-left:auto;margin-right:auto}
.wp-caption{max-width:100%}.wp-caption-text,.wp-element-caption{font-size:.88rem;color:var(--ft-muted);text-align:center}
.gallery-caption{font-size:.88rem}.bypostauthor{display:block}.sticky .ft-post__title::before{content:"\2605 ";color:var(--ft-primary)}
.ft-is-app .ft-main{padding:28px 0 56px}
.ft-is-app .ft-container--content{max-width:1400px}
.ft-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px}
.ft-post{border:1px solid var(--ft-line);border-radius:var(--ft-radius);overflow:hidden;background:#fff}
.ft-post__img img{display:block;width:100%;height:220px;object-fit:cover}
.ft-post__body{padding:22px}
.ft-post__meta{font-size:.85rem;color:var(--ft-muted);margin-bottom:6px}
.ft-post__title{font-size:1.25rem}.ft-post__title a{color:var(--ft-ink);text-decoration:none}
.nav-links,.pagination .nav-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:44px}
.page-numbers{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--ft-line);border-radius:10px;text-decoration:none;color:var(--ft-ink);font-weight:600}
.page-numbers.current,.page-numbers:hover{background:var(--ft-primary);color:#fff;border-color:var(--ft-primary)}
.post-navigation .nav-links{justify-content:space-between}
.ft-404{text-align:center;padding:90px 0}
.ft-404__code{font-size:7rem;font-weight:900;color:var(--ft-soft);-webkit-text-stroke:2px var(--ft-primary);line-height:1}
.comments-area{margin-top:56px;border-top:1px solid var(--ft-line);padding-top:36px}
.comment-list{list-style:none;padding:0}.comment-list .children{list-style:none;padding-left:28px}
.comment-body{border:1px solid var(--ft-line);border-radius:12px;padding:16px 20px;margin-bottom:16px}
input[type=text],input[type=email],input[type=url],input[type=password],input[type=search],input[type=tel],input[type=number],textarea,select{font:inherit;color:var(--ft-ink);border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;max-width:100%}
textarea{width:100%}
button,input[type=submit]{font:inherit}
.comment-form input[type=submit],.search-submit,.wp-block-button__link{background:var(--ft-primary);color:#fff;border:0;border-radius:10px;padding:.75em 1.4em;font-weight:700;cursor:pointer;text-decoration:none}
.ft-searchform{display:flex;gap:8px}.ft-searchform input[type=search]{flex:1}

/* 14. FillDesk integration */
.filldesk-btn{background:var(--ft-primary);border-radius:10px;padding:.85rem 1.6rem;font-weight:700}
.filldesk-landing{max-width:none}
.filldesk-crumbs{display:none}
.filldesk-landing__hero{grid-template-columns:minmax(0,380px) 1fr;gap:40px;background:#fff;border:1px solid var(--ft-line);border-radius:20px;padding:30px;box-shadow:var(--ft-shadow)}
.filldesk-landing__thumb{background:#f1f5f9;border-radius:14px;padding:18px;display:block}
.filldesk-landing__lead{font-size:1.15rem;color:var(--ft-ink)}
.filldesk-landing__cta .filldesk-btn{font-size:1.1rem;padding:1rem 2rem}
.filldesk-landing__body{margin-top:36px}
.filldesk-landing h2{margin-top:1.6em}
.filldesk-landing__steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:12px}
.filldesk-landing__steps li{counter-increment:s;position:relative;padding:14px 16px 14px 60px;background:var(--ft-soft);border-radius:12px}
.filldesk-landing__steps li::before{content:counter(s);position:absolute;left:16px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:var(--ft-primary);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.9rem}
.filldesk-landing__faq details{background:#fff;border:1px solid var(--ft-line);border-radius:12px;padding:14px 18px;margin-bottom:10px}
.filldesk-landing__related{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.filldesk-landing__related a{display:block;padding:14px 16px;border:1px solid var(--ft-line);border-radius:12px;text-decoration:none;font-weight:600;color:var(--ft-ink)}
.filldesk-landing__related a:hover{border-color:var(--ft-primary);color:var(--ft-primary)}
.filldesk-library__search input{border-radius:10px;min-height:48px}
.filldesk-library__search button{border:0;border-radius:10px;background:var(--ft-primary);color:#fff;padding:0 22px;font-weight:700;cursor:pointer}
.filldesk-library__grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px}
.filldesk-library__item{background:#fff;border-radius:14px;padding:16px;transition:box-shadow .2s,transform .2s}
.filldesk-library__item:hover{box-shadow:var(--ft-shadow);transform:translateY(-3px)}
.filldesk-library__item img{box-shadow:0 4px 12px rgba(15,23,42,.12);margin-bottom:10px}
.filldesk-library__title{display:block;font-weight:700;color:var(--ft-ink);margin-bottom:6px}
.filldesk-library__item a{text-decoration:none}
@media (max-width:760px){.filldesk-landing__hero{grid-template-columns:1fr;padding:20px}}

/* 15. Footer */
.ft-footer{background:#0b1222;color:#94a3b8;padding:68px 0 0;font-size:.95rem}
.ft-footer a{color:#cbd5e1;text-decoration:none}
.ft-footer a:hover{color:#fff}
.ft-footer__grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:40px}
.ft-footer .ft-brand{color:#fff;margin-bottom:14px}
.ft-footer h2,.ft-footer .widget-title{color:#fff;font-size:.95rem;text-transform:uppercase;letter-spacing:.1em;margin:0 0 16px}
.ft-footer ul{list-style:none;margin:0;padding:0}
.ft-footer li{margin-bottom:10px}
.ft-footer__bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:52px;padding:22px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.88rem}
.ft-footer__bottom ul{display:flex;gap:18px;flex-wrap:wrap}
.ft-footer__bottom li{margin:0}
@media (max-width:900px){.ft-footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ft-footer__grid{grid-template-columns:1fr}.ft-cta{padding:40px 22px}}

/* 16. Small screens and app pages */
.ft-hero__grid>*,.ft-footer__grid>*{min-width:0}
.ft-is-app .ft-pagehead{padding:22px 0 16px}
.ft-is-app .ft-pagehead h1{font-size:1.6rem;margin:0}
.ft-is-app .ft-pagehead p{font-size:.98rem}
@media (max-width:600px){
.ft-container{padding:0 16px}
.ft-hero__search button span{display:none}
.ft-forms{grid-template-columns:1fr 1fr;gap:14px}
.ft-card__body{padding:12px}
.ft-card__excerpt{display:none}
.ft-card__thumb{padding:10px 12px 0}
.ft-hero__lead{font-size:1.05rem}
}

/* 17. Account: sign in, register, password reset */
.ft-hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.ft-auth{background:linear-gradient(180deg,#f5f8ff 0,#fff 100%);padding:56px 0 80px}
.ft-auth__grid{display:grid;grid-template-columns:1fr 1fr;max-width:1060px;background:#fff;border:1px solid var(--ft-line);border-radius:24px;box-shadow:0 24px 60px rgba(29,78,216,.12);overflow:hidden;padding:0}
.ft-auth__panel{background:linear-gradient(150deg,var(--ft-primary) 0,var(--ft-primary-dark) 100%);color:#dbeafe;padding:48px 44px;display:flex;flex-direction:column;gap:22px;position:relative}
.ft-auth__panel h2{color:#fff;font-size:1.65rem;margin:0}
.ft-auth__mark{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.16);color:#fff}
.ft-auth__benefits{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.ft-auth__benefits li{display:flex;gap:12px;align-items:flex-start;font-weight:600;color:#eff6ff}
.ft-auth__benefits svg{flex-shrink:0;color:#fff;background:var(--ft-accent);border-radius:50%;padding:3px;width:22px;height:22px}
.ft-auth__mock{margin-top:auto;background:#fff;border-radius:14px;padding:20px;display:grid;gap:10px;box-shadow:0 18px 40px rgba(2,6,23,.3);transform:rotate(-2deg)}
.ft-auth__mock-line{height:10px;border-radius:6px;background:#e2e8f0}
.ft-auth__mock-line--short{width:60%}
.ft-auth__mock-field{height:28px;border-radius:8px;border:2px dashed #93c5fd;background:#eff6ff}
.ft-auth__mock-sign{color:var(--ft-primary);justify-self:end}
.ft-auth__trust{display:flex;align-items:center;gap:8px;margin:0;font-size:.9rem;color:#bfdbfe}
.ft-auth__card{padding:48px 48px 40px}
.ft-auth__card h1{font-size:2rem;margin:0 0 6px}
.ft-auth__sub{color:var(--ft-muted);margin:0 0 24px}
.ft-auth__switch{text-align:center;margin:22px 0 0;color:var(--ft-muted)}
.ft-auth__switch a{font-weight:700;text-decoration:none}
.ft-form{display:grid;gap:16px}
.ft-field{display:grid;gap:6px}
.ft-field label{font-weight:700;color:var(--ft-ink);font-size:.93rem}
.ft-field input{width:100%;height:48px;padding:0 14px;border:1px solid #cbd5e1;border-radius:10px;background:#fff}
.ft-field input:focus{outline:none;border-color:var(--ft-primary);box-shadow:0 0 0 3px rgba(29,78,216,.15)}
.ft-pw{position:relative}
.ft-pw input{padding-right:48px}
.ft-pw__toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:8px;background:transparent;color:var(--ft-muted);cursor:pointer;display:grid;place-items:center}
.ft-pw__toggle:hover,.ft-pw__toggle[aria-pressed=true]{color:var(--ft-primary);background:var(--ft-soft)}
.ft-form__row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:.93rem}
.ft-form__row a{font-weight:600;text-decoration:none}
.ft-check{display:flex;align-items:center;gap:8px;font-size:.93rem;color:var(--ft-text);cursor:pointer}
.ft-check input{width:18px;height:18px;accent-color:var(--ft-primary);flex-shrink:0}
.ft-check--terms{align-items:flex-start}
.ft-check--terms input{margin-top:3px}
.ft-btn--block{width:100%;padding:.95em 1.5em;font-size:1.05rem}
.ft-alert{border-radius:12px;padding:12px 16px;margin:0 0 18px;font-size:.95rem;border:1px solid}
.ft-alert ul{margin:0;padding-left:1.1em}
.ft-alert--error{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.ft-alert--ok{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
@media (max-width:860px){.ft-auth{padding:24px 0 48px}.ft-auth__grid{grid-template-columns:1fr;border-radius:18px}.ft-auth__panel{order:2;padding:32px 26px}.ft-auth__mock{display:none}.ft-auth__card{padding:32px 24px}}

/* 18. Account dashboard */
.ft-dash{background:var(--ft-soft);padding:36px 0 72px;min-height:60vh}
.ft-dash__grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}
.ft-dash__side{background:#fff;border:1px solid var(--ft-line);border-radius:18px;padding:18px;position:sticky;top:96px}
.ft-dash__me{display:flex;gap:12px;align-items:center;padding:6px 6px 16px;border-bottom:1px solid var(--ft-line);margin-bottom:10px}
.ft-dash__me strong{display:block;color:var(--ft-ink);line-height:1.2}
.ft-dash__me span{display:block;color:var(--ft-muted);font-size:.85rem;word-break:break-all}
.ft-dash__me>div{min-width:0}
.ft-avatar{border-radius:50%;display:block;flex-shrink:0}
.ft-dash__nav ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.ft-dash__nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--ft-ink);text-decoration:none;font-weight:600}
.ft-dash__nav a:hover{background:var(--ft-soft);color:var(--ft-primary)}
.ft-dash__nav a.is-active{background:var(--ft-primary);color:#fff}
.ft-dash__main{min-width:0;display:grid;gap:22px;align-content:start}
.ft-dash__head h1{font-size:1.9rem;margin:0 0 4px}
.ft-dash__head p{margin:0;color:var(--ft-muted)}
.ft-dash__head--row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.ft-dash__actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.ft-qa{display:grid;gap:4px;background:#fff;border:1px solid var(--ft-line);border-radius:16px;padding:20px;text-decoration:none;color:var(--ft-muted);font-size:.9rem;transition:transform .2s,box-shadow .2s,border-color .2s}
.ft-qa strong{color:var(--ft-ink);font-size:1.05rem}
.ft-qa:hover,.ft-qa:focus{transform:translateY(-3px);box-shadow:var(--ft-shadow);border-color:#bfdbfe;color:var(--ft-muted)}
.ft-qa__icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--ft-primary),#60a5fa);color:#fff;margin-bottom:8px}
.ft-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ft-stat{background:#fff;border:1px solid var(--ft-line);border-radius:16px;padding:18px 20px}
.ft-stat span{display:block;color:var(--ft-muted);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.ft-stat strong{display:block;color:var(--ft-ink);font-size:1.6rem;line-height:1.3}
.ft-dash__note{margin:0;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;border-radius:12px;padding:10px 14px;font-weight:600}
.ft-panel-box{background:#fff;border:1px solid var(--ft-line);border-radius:18px;padding:24px}
.ft-panel-box__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.ft-panel-box__head h2{font-size:1.15rem;margin:0}
.ft-panel-box__head a{font-weight:700;text-decoration:none}
.ft-doclist{list-style:none;margin:0;padding:0}
.ft-doclist li{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--ft-line)}
.ft-doclist li:first-child{border-top:0}
.ft-doclist__icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:var(--ft-soft);color:var(--ft-primary);flex-shrink:0}
.ft-doclist__name{flex:1;min-width:0}
.ft-doclist__name strong{display:block;color:var(--ft-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ft-doclist__name small{color:var(--ft-muted)}
.ft-empty{text-align:center;padding:28px 12px;color:var(--ft-muted)}
.ft-empty svg{color:#93c5fd}
.ft-empty p{margin:10px auto 16px;max-width:420px}
.ft-table-wrap{overflow-x:auto}
.ft-table{width:100%;border-collapse:collapse;font-size:.95rem}
.ft-table th{text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ft-muted);padding:10px 12px;border-bottom:1px solid var(--ft-line)}
.ft-table td{padding:12px;border-bottom:1px solid var(--ft-line);color:var(--ft-ink)}
.ft-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:700;background:#f1f5f9;color:var(--ft-muted)}
.ft-badge--active{background:#dcfce7;color:#166534}
.ft-badge--revoked,.ft-badge--refunded{background:#fee2e2;color:#991b1b}
.ft-form__cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ft-form__section{font-size:1.1rem;margin:10px 0 0}
.ft-form__hint{margin:-10px 0 0;color:var(--ft-muted);font-size:.9rem}
.ft-panel-box .filldesk-mydocs__table{width:100%}
@media (max-width:900px){.ft-dash__grid{grid-template-columns:1fr}.ft-dash__side{position:static}.ft-dash__nav ul{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto}.ft-stats{grid-template-columns:1fr}.ft-form__cols{grid-template-columns:1fr}}

/* 19. Header user menu */
.ft-user{position:relative}
.ft-user__toggle{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 10px 4px 4px;border:1px solid var(--ft-line);border-radius:999px;font-weight:700;color:var(--ft-ink)}
.ft-user__toggle::-webkit-details-marker{display:none}
.ft-user__toggle::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:-3px 2px 0 2px}
.ft-user[open] .ft-user__toggle,.ft-user__toggle:hover{border-color:var(--ft-primary);color:var(--ft-primary)}
.ft-user__name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ft-user__menu{position:absolute;right:0;top:calc(100% + 8px);min-width:210px;list-style:none;margin:0;padding:8px;background:#fff;border:1px solid var(--ft-line);border-radius:12px;box-shadow:var(--ft-shadow);z-index:1000}
.ft-user__menu a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;color:var(--ft-ink);text-decoration:none;font-weight:600;font-size:.95rem}
.ft-user__menu a:hover,.ft-user__menu a:focus{background:var(--ft-soft);color:var(--ft-primary)}
@media (max-width:960px){.ft-user{width:100%}.ft-user__menu{position:static;box-shadow:none;margin-top:8px}}
