/* ============================================================
   PixelForge — Main stylesheet
   Sections: base · header · hero · sections · cards · workspace
             forms/auth · pricing · blog · faq · footer · misc
   ============================================================ */

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.container{max-width:1160px;margin:0 auto;padding:0 22px}
.mono{font-family:var(--font-mono);font-size:.84em}

h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;line-height:1.12;font-weight:700}
.section{padding:76px 0}
.section.alt{background:var(--bg-soft)}
.section-head{text-align:center;max-width:640px;margin:0 auto 44px}
.section-head h2{font-size:clamp(26px,3.6vw,38px);margin-bottom:10px}
.section-head p{color:var(--muted)}
.eyebrow{display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);background:var(--brand-soft);padding:5px 12px;border-radius:999px;margin-bottom:14px}

/* ---------- Buttons ---------- */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 20px;border-radius:12px;font-weight:600;font-size:15px;border:1px solid var(--line);background:var(--surface);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur)}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-s)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-primary{background:var(--brand-grad);color:#fff;border:none;box-shadow:0 6px 18px rgba(46,70,255,.32)}
.btn-primary:hover{box-shadow:0 10px 26px rgba(46,70,255,.42)}
.btn-ghost{border-color:transparent;background:transparent;color:var(--muted)}
.btn-ghost:hover{color:var(--ink);background:var(--bg-soft);box-shadow:none}
.btn-lg{padding:14px 26px;font-size:16px;border-radius:14px}
.btn-block{width:100%}
.btn-icon{width:40px;height:40px;padding:0;border-radius:11px}
/* JS-powered ripple */
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.5);transform:scale(0);animation:ripple .55s ease-out forwards;pointer-events:none}
.btn:not(.btn-primary) .ripple{background:var(--brand-soft)}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:60;background:var(--glass);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .25s,box-shadow .25s}
.site-header.scrolled{border-color:var(--line);box-shadow:var(--shadow-s)}
.nav{display:flex;align-items:center;gap:8px;height:66px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:-.02em;margin-right:8px}
.logo svg{width:28px;height:28px}
.nav-links{display:none;align-items:center;gap:2px}
.nav-links>a,.nav-links>.dropdown>button{padding:9px 13px;border-radius:10px;color:var(--muted);font-weight:500;font-size:14.5px;display:inline-flex;align-items:center;gap:5px}
.nav-links>a:hover,.nav-links>.dropdown>button:hover,.nav-links>a[aria-current="page"]{color:var(--ink);background:var(--bg-soft)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:8px}
.burger{display:grid;place-items:center}
/* Dropdown */
.dropdown{position:relative}
.dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:240px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-l);padding:8px;opacity:0;transform:translateY(6px) scale(.98);pointer-events:none;transition:opacity .18s var(--ease),transform .18s var(--ease)}
.dropdown.open .dropdown-menu{opacity:1;transform:none;pointer-events:auto}
.dropdown-menu a{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:10px;font-size:14.5px;font-weight:500}
.dropdown-menu a:hover{background:var(--bg-soft)}
.dropdown-menu .tile{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto}
/* Mobile nav */
.mobile-nav{position:fixed;inset:66px 0 0 0;background:var(--bg);z-index:55;padding:18px 22px;display:none;flex-direction:column;gap:4px;overflow:auto}
.mobile-nav.open{display:flex;animation:fadeUp .25s var(--ease)}
.mobile-nav a{padding:13px 10px;border-radius:10px;font-weight:600;border-bottom:1px solid var(--line)}
@media(min-width:920px){.nav-links{display:flex}.burger{display:none}}

/* ---------- Breadcrumb ---------- */
.breadcrumb{display:flex;flex-wrap:wrap;gap:7px;align-items:center;font-size:13.5px;color:var(--muted);padding:18px 0 0}
.breadcrumb a:hover{color:var(--brand)}
.breadcrumb .sep{opacity:.5}

/* ---------- Hero ---------- */
.hero{position:relative;padding:84px 0 64px;text-align:center;overflow:hidden}
.hero h1{font-size:clamp(34px,6vw,58px);font-weight:800;max-width:17ch;margin:0 auto 16px}
.hero h1 .grad{background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{color:var(--muted);font-size:clamp(16px,2vw,19px);max-width:54ch;margin:0 auto 28px}
.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.hero-note{margin-top:16px;font-size:13.5px;color:var(--muted)}
/* Gradient blobs + floating shapes (animated background) */
.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;pointer-events:none;z-index:-1}
.blob-1{width:480px;height:480px;background:radial-gradient(circle,rgba(46,70,255,.35),transparent 65%);top:-140px;left:-120px}
.blob-2{width:520px;height:520px;background:radial-gradient(circle,rgba(124,92,255,.3),transparent 65%);bottom:-200px;right:-140px}
.blob-3{width:340px;height:340px;background:radial-gradient(circle,rgba(31,169,104,.22),transparent 65%);top:30%;right:8%}
.shape{position:absolute;pointer-events:none;z-index:-1;opacity:.85}
.float-icon{position:absolute;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);pointer-events:none}
/* Mouse-follow glow */
.hero-glow{position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(46,70,255,.14),transparent 62%);pointer-events:none;transform:translate(-50%,-50%);z-index:-1;transition:opacity .3s}

/* ---------- Pills / filter ---------- */
.pills{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:0 0 30px}
.pill{padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:14px;font-weight:600;color:var(--muted);transition:all var(--dur)}
.pill:hover{border-color:var(--brand);color:var(--brand)}
.pill.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}

/* ---------- Search ---------- */
.search{position:relative;max-width:420px;margin:0 auto 34px}
.search input{width:100%;padding:13px 16px 13px 46px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-s);font-size:15px}
.search input:focus{border-color:var(--brand)}
.search .i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--muted)}

/* ---------- Tool cards (reference-style grid) ---------- */
.tool-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.tool-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 20px;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur);display:block}
.tool-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.tool-card:hover .tile{transform:scale(1.06) rotate(-3deg)}
.tool-card .tile{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:14px;transition:transform var(--dur) var(--ease)}
.tool-card h3{font-size:17px;margin-bottom:6px;font-weight:600}
.tool-card p{font-size:13.5px;color:var(--muted);line-height:1.5}
.tool-card .badge{position:absolute;top:12px;right:12px;font-size:10.5px;font-weight:700;letter-spacing:.06em;background:var(--t-amber-bg);color:var(--t-amber);padding:3px 8px;border-radius:999px;text-transform:uppercase}
.tile.green{background:var(--t-green-bg);color:var(--t-green)}
.tile.blue{background:var(--t-blue-bg);color:var(--t-blue)}
.tile.purple{background:var(--t-purple-bg);color:var(--t-purple)}
.tile.amber{background:var(--t-amber-bg);color:var(--t-amber)}
.tile.teal{background:var(--t-teal-bg);color:var(--t-teal)}
.tile.rose{background:var(--t-rose-bg);color:var(--t-rose)}

/* ---------- Feature cards / steps ---------- */
.feature-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.feature{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.feature:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.feature .tile{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;margin-bottom:14px}
.feature h3{font-size:17px;margin-bottom:7px;font-weight:600}
.feature p{font-size:14px;color:var(--muted)}
.steps{counter-reset:step;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.step{position:relative;padding:26px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.step::before{counter-increment:step;content:counter(step,decimal-leading-zero);font-family:var(--font-display);font-weight:800;font-size:30px;background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:10px}
.step h3{font-size:16px;margin-bottom:6px}
.step p{font-size:14px;color:var(--muted)}

/* ---------- Stats counters ---------- */
.stats{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));text-align:center}
.stat h3{font-size:clamp(28px,4vw,40px);font-weight:800;background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat p{color:var(--muted);font-size:14px}

/* ---------- Testimonials ---------- */
.testi-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.testi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.testi p{font-size:14.5px;margin-bottom:16px}
.testi .who{display:flex;align-items:center;gap:11px}
.testi .avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;font-size:15px}
.testi .who b{display:block;font-size:14px}
.testi .who span{font-size:12.5px;color:var(--muted)}
.testi .stars{color:var(--t-amber);letter-spacing:2px;margin-bottom:10px;font-size:13px}

/* ---------- Workspace (tool engine UI) ---------- */
.upload-area{position:relative;border:2px dashed var(--line);border-radius:20px;background:var(--surface);padding:52px 24px;text-align:center;cursor:pointer;transition:border-color var(--dur),background var(--dur);overflow:hidden}
.upload-area:hover,.upload-area.drag{border-color:var(--brand);background:var(--brand-soft)}
.upload-area .up-icon{width:64px;height:64px;border-radius:18px;background:var(--brand-grad);color:#fff;display:grid;place-items:center;margin:0 auto 16px;box-shadow:0 10px 24px rgba(46,70,255,.35);animation:floaty 4s ease-in-out infinite}
.upload-area strong{font-family:var(--font-display);font-size:19px;display:block;margin-bottom:5px}
.upload-area p{color:var(--muted);font-size:14px;margin-bottom:16px}
.upload-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.formats{margin-top:18px;display:flex;gap:7px;justify-content:center;flex-wrap:wrap}
.chip{font-family:var(--font-mono);font-size:11px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}

.workspace{display:none;margin-top:34px}
.workspace.on{display:block}
.ws-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.ws-head h2{font-size:20px}
.ws-count{font-family:var(--font-mono);font-size:12.5px;color:var(--muted)}
.ws-grid{display:grid;gap:20px}
@media(min-width:920px){.ws-grid{grid-template-columns:1fr 330px;align-items:start}}

.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px}
.file-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-s)}
.file-card .thumb{aspect-ratio:1;background:var(--bg-soft);overflow:hidden;display:grid;place-items:center}
.file-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s var(--ease)}
.file-card:hover .thumb img{transform:scale(1.05)}
.file-card .meta{padding:9px 11px}
.file-card .name{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-card .dim{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);margin-top:2px}
.file-card .actions{position:absolute;top:7px;right:7px;display:flex;gap:5px;opacity:0;transition:opacity var(--dur)}
.file-card:hover .actions,.file-card:focus-within .actions{opacity:1}
.file-card .actions button{width:27px;height:27px;border-radius:8px;background:rgba(15,18,25,.6);color:#fff;display:grid;place-items:center;backdrop-filter:blur(4px)}
.file-card .saved{position:absolute;top:7px;left:7px;font-family:var(--font-mono);font-size:10.5px;background:var(--ok);color:#fff;padding:2px 8px;border-radius:999px;display:none}
.file-card.done .saved{display:block}
.file-card .cmp-btn{position:absolute;left:7px;bottom:64px;font-family:var(--font-mono);font-size:10.5px;background:rgba(15,18,25,.6);color:#fff;padding:3px 9px;border-radius:8px;opacity:0;transition:opacity var(--dur)}
.file-card:hover .cmp-btn{opacity:1}
.file-card.selected{outline:2px solid var(--brand)}
.file-card .bar{height:3px}
.file-card.working .bar{background:var(--brand-grad);animation:load-sweep 1s ease-in-out infinite;transform-origin:left}
/* Skeleton loading tile */
.skeleton{border-radius:14px;min-height:190px;background:linear-gradient(100deg,var(--bg-soft) 40%,var(--line) 50%,var(--bg-soft) 60%);background-size:220% 100%;animation:skeleton 1.1s linear infinite}

.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);position:sticky;top:84px;overflow:hidden}
.panel-title{padding:15px 18px;border-bottom:1px solid var(--line);font-family:var(--font-display);font-weight:600;font-size:15.5px;display:flex;align-items:center;gap:9px}
.panel-body{padding:16px 18px;max-height:56vh;overflow:auto}
.panel-foot{padding:14px 18px;border-top:1px solid var(--line);display:grid;gap:9px;background:var(--surface)}
.io-stat{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:12px;color:var(--muted)}
.io-stat b{color:var(--ok)}
.group{margin-bottom:6px}
.group+.group{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}
.group>h4{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:11px}
.field{margin-bottom:12px}
.field label{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:5px}
.field input[type=text],.field input[type=number],.field select,.field input[type=email],.field input[type=password],.field textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--bg);font-size:14px;transition:border-color var(--dur)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);outline:none}
.field input[type=range]{width:100%;accent-color:var(--brand)}
.field input[type=color]{width:100%;height:40px;padding:3px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--bg)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.switch{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;font-size:14px;font-weight:500}
.switch input{accent-color:var(--brand);width:17px;height:17px}
.hint{font-size:12px;color:var(--muted);margin-top:4px}
/* Gravity 9-dot grid for crop position */
.gravity{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-width:130px}
.gravity button{aspect-ratio:1;border:1px solid var(--line);border-radius:8px;background:var(--bg);display:grid;place-items:center;transition:all var(--dur)}
.gravity button::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--muted)}
.gravity button.active{border-color:var(--brand);background:var(--brand-soft)}
.gravity button.active::after{background:var(--brand)}
/* EXIF list */
.meta-list{font-family:var(--font-mono);font-size:12px;line-height:1.85;max-height:300px;overflow:auto;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-s);padding:12px 14px}
.meta-list b{color:var(--muted);font-weight:500}

/* ---------- Modal ---------- */
dialog{border:none;border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-l);padding:0;max-width:min(94vw,860px);width:100%}
dialog::backdrop{background:rgba(10,13,20,.55);backdrop-filter:blur(4px)}
dialog[open]{animation:modalIn .28s var(--ease)}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}
.modal-head strong{font-family:var(--font-display);font-size:16px}
.modal-body{padding:18px}
/* Compare slider */
.cmp-body{position:relative;user-select:none;touch-action:none;background:#0a0d13}
.cmp-body img{width:100%;max-height:68vh;object-fit:contain;pointer-events:none}
.cmp-after{position:absolute;inset:0;overflow:hidden}
.cmp-handle{position:absolute;top:0;bottom:0;width:2px;background:#fff;box-shadow:0 0 10px rgba(0,0,0,.6);cursor:ew-resize}
.cmp-handle::after{content:"◂ ▸";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;color:#14161b;font-size:11px;padding:5px 9px;border-radius:999px;white-space:nowrap}
.cmp-tag{position:absolute;top:10px;font-family:var(--font-mono);font-size:11px;background:rgba(0,0,0,.6);color:#fff;padding:3px 9px;border-radius:6px}
.cmp-foot{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;font-family:var(--font-mono);font-size:12px;color:var(--muted);flex-wrap:wrap}

/* ---------- Toast & loader ---------- */
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(90px);background:var(--ink);color:var(--bg);padding:12px 20px;border-radius:13px;font-size:14px;font-weight:500;box-shadow:var(--shadow-l);transition:transform .3s var(--ease);z-index:100;max-width:92vw;text-align:center}
.toast.on{transform:translateX(-50%) translateY(0)}
.page-loader{position:fixed;inset:0;background:var(--bg);z-index:200;display:grid;place-items:center;transition:opacity .4s,visibility .4s}
.page-loader.hide{opacity:0;visibility:hidden}
.loader-dot{width:52px;height:52px;border-radius:16px;background:var(--brand-grad);animation:loaderSpin 1s var(--ease) infinite}

/* ---------- FAQ accordion ---------- */
.faq-list{max-width:760px;margin:0 auto}
.faq-item{border:1px solid var(--line);border-radius:14px;background:var(--surface);margin-bottom:10px;overflow:hidden}
.faq-item summary{list-style:none;cursor:pointer;padding:17px 20px;font-weight:600;font-size:15.5px;display:flex;justify-content:space-between;align-items:center;gap:14px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:20px;color:var(--brand);transition:transform .25s var(--ease);flex:0 0 auto}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item .faq-a{padding:0 20px 17px;color:var(--muted);font-size:14.5px}

/* ---------- Pricing ---------- */
.price-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}
.price-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:30px;display:flex;flex-direction:column;transition:transform var(--dur) var(--ease),box-shadow var(--dur)}
.price-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.price-card.featured{border:2px solid var(--brand);box-shadow:var(--shadow-l);position:relative}
.price-card.featured::before{content:"Most popular";position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--brand-grad);color:#fff;font-size:12px;font-weight:700;padding:4px 14px;border-radius:999px}
.price-card h3{font-size:18px}
.price-card .amount{font-family:var(--font-display);font-size:44px;font-weight:800;margin:12px 0 2px}
.price-card .amount span{font-size:15px;color:var(--muted);font-weight:500}
.price-card ul{list-style:none;margin:20px 0 26px;display:grid;gap:10px;flex:1}
.price-card li{font-size:14px;display:flex;gap:9px;align-items:start}
.price-card li::before{content:"✓";color:var(--ok);font-weight:700}

/* ---------- Blog ---------- */
.blog-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.post-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--dur) var(--ease),box-shadow var(--dur)}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.post-card .cover{aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden}
.post-card .cover svg{width:64px;height:64px;transition:transform .35s var(--ease)}
.post-card:hover .cover svg{transform:scale(1.15)}
.post-card .body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.post-card .cat{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--brand)}
.post-card h3{font-size:17px;font-weight:600}
.post-card p{font-size:13.5px;color:var(--muted);flex:1}
.post-card .date{font-size:12.5px;color:var(--muted)}
.article{max-width:720px;margin:0 auto 56px;scroll-margin-top:90px}
.article h2{font-size:26px;margin-bottom:14px}
.article h3{font-size:19px;margin:22px 0 8px}
.article p{color:var(--muted);margin-bottom:12px;font-size:15.5px}
.article .meta{font-size:13px;color:var(--muted);margin-bottom:18px}

/* ---------- Pagination ---------- */
.pagination{display:flex;gap:7px;justify-content:center;margin-top:36px}
.pagination button{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:var(--surface);font-weight:600;font-size:14px;transition:all var(--dur)}
.pagination button:hover{border-color:var(--brand);color:var(--brand)}
.pagination button.active{background:var(--brand);border-color:var(--brand);color:#fff}

/* ---------- Newsletter ---------- */
.newsletter{background:var(--brand-grad);border-radius:24px;padding:46px 30px;text-align:center;color:#fff;position:relative;overflow:hidden}
.newsletter h2{font-size:clamp(22px,3vw,30px);margin-bottom:8px}
.newsletter p{opacity:.85;margin-bottom:22px;font-size:15px}
.newsletter form{display:flex;gap:10px;max-width:440px;margin:0 auto;flex-wrap:wrap}
.newsletter input{flex:1;min-width:200px;padding:13px 16px;border-radius:13px;border:none;font-size:15px;background:rgba(255,255,255,.94);color:#171b24}
.newsletter .btn{background:#171b24;color:#fff;border:none}

/* ---------- Forms / auth / contact ---------- */
.auth-wrap{min-height:calc(100vh - 66px);display:grid;place-items:center;padding:44px 22px;position:relative}
.auth-card{width:100%;max-width:430px;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-l);padding:34px;position:relative;animation:fadeUp .5s var(--ease)}
.auth-card h1{font-size:25px;margin-bottom:6px}
.auth-card .sub{color:var(--muted);font-size:14.5px;margin-bottom:24px}
.auth-foot{text-align:center;margin-top:20px;font-size:14px;color:var(--muted)}
.auth-foot a{color:var(--brand);font-weight:600}
.pw-wrap{position:relative}
.pw-wrap input{padding-right:44px}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:grid;place-items:center;color:var(--muted);border-radius:8px}
.pw-toggle:hover{color:var(--ink);background:var(--bg-soft)}
.strength{display:flex;gap:5px;margin-top:8px}
.strength span{height:4px;flex:1;border-radius:99px;background:var(--line);transition:background .3s}
.strength.s1 span:nth-child(1){background:var(--bad)}
.strength.s2 span:nth-child(-n+2){background:var(--warn)}
.strength.s3 span:nth-child(-n+3){background:#84cc16}
.strength.s4 span{background:var(--ok)}
.strength-label{font-size:12px;color:var(--muted);margin-top:5px;min-height:16px}
.error-msg{font-size:12.5px;color:var(--bad);margin-top:5px;min-height:16px}
.field.invalid input{border-color:var(--bad);animation:shake .3s}
.field.valid input{border-color:var(--ok)}
.otp-row{display:flex;gap:10px;justify-content:center}
.otp-row input{width:52px;height:58px;text-align:center;font-size:22px;font-weight:700;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.otp-row input:focus{border-color:var(--brand)}
/* Alerts */
.alert{display:flex;gap:11px;align-items:start;padding:13px 15px;border-radius:12px;font-size:14px;margin-bottom:16px}
.alert-info{background:var(--t-blue-bg);color:var(--t-blue)}
.alert-success{background:var(--t-green-bg);color:var(--t-green)}
.alert-error{background:var(--t-rose-bg);color:var(--t-rose)}

/* ---------- Footer ---------- */
.site-footer{border-top:1px solid var(--line);background:var(--bg-soft);padding:56px 0 34px;margin-top:70px}
.footer-grid{display:grid;gap:34px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:38px}
.footer-grid .brand-col{grid-column:span 2;min-width:220px}
.footer-grid .brand-col p{color:var(--muted);font-size:14px;margin-top:12px;max-width:32ch}
.footer-grid h4{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.footer-grid ul{list-style:none;display:grid;gap:9px}
.footer-grid a{font-size:14px;color:var(--muted)}
.footer-grid a:hover{color:var(--brand)}
.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13.5px;color:var(--muted)}

/* ---------- 404 ---------- */
.page-404{min-height:70vh;display:grid;place-items:center;text-align:center;padding:60px 22px;position:relative}
.page-404 h1{font-size:clamp(80px,18vw,150px);font-weight:800;background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
.page-404 p{color:var(--muted);margin:12px 0 26px;font-size:17px}

/* ============================================================
   ALL TOOLS PAGE — Coming Soon Badge & Disabled Cards
   ============================================================ */

/* ⚠️ SOON cards — click කළ නොහැක, hover effects නැත */
.tool-card.is-soon {
  position: relative;
  cursor: not-allowed;
  opacity: 0.65;
  pointer-events: none; /* click එක අවහිර කරයි */
  user-select: none;
}

.tool-card.is-soon:hover {
  transform: none;
  box-shadow: none;
  border-color: var(--border);
}

/* ⚠️ SOON badge — ඉහළ දකුණු කෙළවර */
.soon-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  padding: 3px 10px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #B45309;
  background: #FEF3C7;
  border-radius: 999px;
  z-index: 2;
  line-height: 1.4;
}

/* Dark theme support */
[data-theme="dark"] .soon-badge {
  color: #FCD34D;
  background: rgba(252, 211, 77, 0.15);
}

/* Tool card එකේ icon සහ text වලට SOON badge එකට ඉඩ දෙන්න */
.tool-card.is-soon .tile {
  opacity: 0.7;
}

.tool-card.is-soon h3 {
  color: var(--text-muted);
}

.tool-card.is-soon p {
  color: var(--text-muted);
}

/* ============================================================
   PIXELFORGE DASHBOARD — Droitdash Style
   ============================================================ */

.pf-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 24px;
  max-width: 1400px;
  margin: 0 auto;
  padding: 24px 20px 60px;
  font-family: 'Instrument Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  color: #1f2937;
}

/* ---------- SIDEBAR ---------- */
.pf-sidebar {
  background: #1e1b4b;
  border-radius: 20px;
  padding: 24px 18px;
  color: #e0e7ff;
  display: flex;
  flex-direction: column;
  height: fit-content;
  position: sticky;
  top: 24px;
}

.pf-sidebar-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 8px 20px;
  border-bottom: 1px solid rgba(224, 231, 255, 0.1);
  margin-bottom: 20px;
  font-weight: 700;
  font-size: 17px;
  color: white;
}

.pf-sidebar-logo {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  display: grid;
  place-items: center;
  color: white;
}

.pf-sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}

.pf-nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 14px;
  border-radius: 10px;
  color: #c7d2fe;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s ease;
}

.pf-nav-item:hover {
  background: rgba(139, 92, 246, 0.15);
  color: white;
}

.pf-nav-item.active {
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  color: white;
  box-shadow: 0 4px 14px rgba(99, 102, 241, 0.4);
}

.pf-sidebar-footer {
  border-top: 1px solid rgba(224, 231, 255, 0.1);
  padding-top: 16px;
  margin-top: 16px;
}

.pf-user-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px;
  border-radius: 12px;
  background: rgba(139, 92, 246, 0.1);
}

.pf-user-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, #818cf8, #c084fc);
  color: white;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 15px;
  flex-shrink: 0;
}

.pf-user-info {
  overflow: hidden;
  min-width: 0;
}

.pf-user-info strong {
  display: block;
  font-size: 13px;
  color: white;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pf-user-info small {
  display: block;
  font-size: 11px;
  color: #a5b4fc;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ---------- MAIN ---------- */
.pf-main {
  min-width: 0;
}

/* ---------- TOPBAR ---------- */
.pf-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.pf-topbar-title h1 {
  margin: 0 0 2px;
  font-size: 26px;
  font-weight: 700;
  color: #111827;
}

.pf-topbar-title p {
  margin: 0;
  color: #6b7280;
  font-size: 14px;
}

.pf-topbar-actions {
  display: flex;
  gap: 8px;
}

.pf-topbar-btn {
  position: relative;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  background: white;
  color: #4b5563;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: all 0.2s ease;
}

.pf-topbar-btn:hover {
  border-color: #c7d2fe;
  color: #4f46e5;
}

.pf-dot {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 8px;
  height: 8px;
  background: #ef4444;
  border-radius: 50%;
  border: 2px solid white;
}

/* ---------- STATS ---------- */
.pf-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}

.pf-stat-card {
  padding: 20px;
  border-radius: 18px;
  color: white;
  position: relative;
  overflow: hidden;
}

.pf-stat-card::before {
  content: '';
  position: absolute;
  top: -30px;
  right: -30px;
  width: 120px;
  height: 120px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  pointer-events: none;
}

.pf-stat-blue   { background: linear-gradient(135deg, #6366f1, #8b5cf6); }
.pf-stat-green  { background: linear-gradient(135deg, #10b981, #059669); }
.pf-stat-purple { background: linear-gradient(135deg, #a855f7, #7c3aed); }
.pf-stat-orange { background: linear-gradient(135deg, #f59e0b, #d97706); }

.pf-stat-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  opacity: 0.9;
  margin-bottom: 12px;
}

.pf-stat-icon {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.2);
  display: grid;
  place-items: center;
}

.pf-stat-value {
  font-size: 32px;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 6px;
  letter-spacing: -0.02em;
}

.pf-stat-foot {
  font-size: 12px;
  opacity: 0.85;
}

.pf-stat-up {
  display: inline-block;
  background: rgba(255, 255, 255, 0.2);
  padding: 2px 8px;
  border-radius: 6px;
}

/* ---------- BANNER ---------- */
.pf-banner {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 24px 28px;
  border-radius: 18px;
  background: linear-gradient(135deg, #eff6ff, #e0e7ff);
  border: 1px solid #c7d2fe;
  margin-bottom: 28px;
  flex-wrap: wrap;
}

.pf-banner-pro {
  background: linear-gradient(135deg, #ecfdf5, #d1fae5);
  border-color: #a7f3d0;
}

.pf-banner-icon {
  font-size: 40px;
  line-height: 1;
}

.pf-banner-text {
  flex: 1;
  min-width: 200px;
}

.pf-banner-text h3 {
  margin: 0 0 4px;
  font-size: 18px;
  color: #111827;
}

.pf-banner-text p {
  margin: 0;
  color: #4b5563;
  font-size: 14px;
}

/* ---------- SECTION ---------- */
.pf-section {
  margin-bottom: 32px;
}

.pf-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.pf-section-head h2 {
  margin: 0;
  font-size: 19px;
  font-weight: 700;
  color: #111827;
}

.pf-see-all {
  color: #6366f1;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
}

.pf-see-all:hover { color: #4f46e5; }

/* ---------- TOOLS GRID ---------- */
.pf-tools-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 14px;
}

.pf-tool-card {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 18px;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: all 0.2s ease;
}

.pf-tool-card:hover {
  transform: translateY(-3px);
  border-color: #c7d2fe;
  box-shadow: 0 10px 24px rgba(99, 102, 241, 0.12);
}

.pf-tool-icon {
  width: 40px;
  height: 40px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.pf-tool-card strong {
  font-size: 15px;
  color: #111827;
  font-weight: 700;
}

.pf-tool-card small {
  font-size: 13px;
  color: #6b7280;
}

/* ---------- QUICK ACTIONS ---------- */
.pf-actions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}

.pf-action-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  text-decoration: none;
  color: inherit;
  transition: all 0.2s ease;
}

.pf-action-card:hover {
  border-color: #c7d2fe;
  box-shadow: 0 6px 16px rgba(99, 102, 241, 0.08);
}

.pf-action-icon {
  font-size: 22px;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  background: #f9fafb;
  border-radius: 11px;
  flex-shrink: 0;
}

.pf-action-card strong {
  display: block;
  font-size: 14px;
  color: #111827;
  margin-bottom: 2px;
}

.pf-action-card small {
  font-size: 12px;
  color: #6b7280;
}

.pf-arrow {
  margin-left: auto;
  color: #9ca3af;
}

.pf-action-danger:hover {
  border-color: #fecaca;
  background: #fef2f2;
}

/* ---------- BUTTONS ---------- */
.pf-btn {
  display: inline-block;
  padding: 11px 22px;
  border-radius: 10px;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.2s ease;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  text-align: center;
}

.pf-btn-primary {
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  color: white;
  box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);
}

.pf-btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(99, 102, 241, 0.4);
  color: white;
}

.pf-btn-outline {
  background: white;
  color: #4f46e5;
  border: 1px solid #c7d2fe;
}

.pf-btn-outline:hover { background: #f5f3ff; }

/* ---------- LOGIN ---------- */
.pf-dash-login {
  display: grid;
  place-items: center;
  min-height: 60vh;
  padding: 40px 20px;
}

.pf-dash-login-card {
  background: white;
  padding: 48px 40px;
  border-radius: 24px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.06);
  text-align: center;
  max-width: 420px;
  width: 100%;
}

.pf-dash-icon-big {
  width: 88px;
  height: 88px;
  border-radius: 24px;
  background: linear-gradient(135deg, #eff6ff, #e0e7ff);
  color: #6366f1;
  display: grid;
  place-items: center;
  margin: 0 auto 24px;
}

.pf-dash-login-card h2 {
  margin: 0 0 12px;
  font-size: 24px;
  color: #111827;
}

.pf-dash-login-card p {
  margin: 0 0 28px;
  color: #6b7280;
  line-height: 1.6;
}

.pf-dash-login-card .pf-btn {
  display: block;
  margin: 10px 0;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 900px) {
  .pf-layout {
    grid-template-columns: 1fr;
  }
  .pf-sidebar {
    position: static;
  }
  .pf-stats {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .pf-topbar-title h1 { font-size: 22px; }
  .pf-stat-value { font-size: 26px; }
  .pf-stats { grid-template-columns: 1fr; }
  .pf-tools-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- DARK MODE ---------- */
[data-theme="dark"] .pf-layout { color: #e5e7eb; }
[data-theme="dark"] .pf-topbar-title h1,
[data-theme="dark"] .pf-section-head h2,
[data-theme="dark"] .pf-banner-text h3,
[data-theme="dark"] .pf-tool-card strong,
[data-theme="dark"] .pf-action-card strong,
[data-theme="dark"] .pf-dash-login-card h2 { color: #f9fafb; }

[data-theme="dark"] .pf-tool-card,
[data-theme="dark"] .pf-action-card,
[data-theme="dark"] .pf-topbar-btn,
[data-theme="dark"] .pf-dash-login-card {
  background: #1f2937;
  border-color: #374151;
}

[data-theme="dark"] .pf-action-icon { background: #111827; }
[data-theme="dark"] .pf-banner { background: linear-gradient(135deg, #1e3a8a, #312e81); border-color: #4338ca; }
[data-theme="dark"] .pf-banner-pro { background: linear-gradient(135deg, #064e3b, #065f46); border-color: #059669; }

/* ============================================================
   SINGLE PRODUCT PAGE — PixelForge Custom
   ============================================================ */

.pf-product-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
  margin-top: 20px;
}

.pf-product-image {
  background: #f9fafb;
  border-radius: 24px;
  padding: 40px;
  display: grid;
  place-items: center;
  min-height: 400px;
}

.pf-product-placeholder {
  color: #d1d5db;
}

.pf-product-info {
  padding: 20px 0;
}

.pf-product-badge {
  display: inline-block;
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  color: #92400e;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 16px;
}

.pf-product-info h2 {
  font-size: 32px;
  font-weight: 800;
  margin: 0 0 12px;
  color: #111827;
}

.pf-product-desc {
  color: #6b7280;
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 20px;
}

.pf-product-price {
  font-size: 40px;
  font-weight: 800;
  color: #6366f1;
  margin-bottom: 24px;
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.pf-product-price del {
  font-size: 20px;
  color: #9ca3af;
  font-weight: 500;
}

.pf-product-price ins {
  text-decoration: none;
}

.pf-product-period {
  font-size: 16px;
  color: #6b7280;
  font-weight: 500;
}

.pf-product-features {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
}

.pf-product-features li {
  padding: 8px 0;
  color: #374151;
  font-size: 15px;
  border-bottom: 1px solid #f3f4f6;
}

.pf-product-features li:last-child {
  border-bottom: none;
}

.pf-product-btn {
  width: 100%;
  padding: 16px 24px;
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  color: white;
  border: none;
  border-radius: 14px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-shadow: 0 6px 20px rgba(99, 102, 241, 0.35);
  transition: all 0.2s ease;
}

.pf-product-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(99, 102, 241, 0.45);
}

.pf-product-meta {
  margin-top: 16px;
  font-size: 13px;
  color: #6b7280;
}

.pf-product-meta a {
  color: #6366f1;
  text-decoration: none;
}

.pf-product-longdesc {
  max-width: 760px;
  margin: 60px auto 0;
  padding-top: 40px;
  border-top: 1px solid #e5e7eb;
}

.pf-product-longdesc h2 {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 16px;
  color: #111827;
}

.pf-product-longdesc p {
  color: #4b5563;
  line-height: 1.7;
}

/* Responsive */
@media (max-width: 900px) {
  .pf-product-wrap {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .pf-product-image {
    min-height: 280px;
    padding: 24px;
  }
  .pf-product-info h2 {
    font-size: 26px;
  }
  .pf-product-price {
    font-size: 32px;
  }
}

/* Dark Mode */
[data-theme="dark"] .pf-product-image {
  background: #1f2937;
}

[data-theme="dark"] .pf-product-info h2,
[data-theme="dark"] .pf-product-longdesc h2 {
  color: #f9fafb;
}

[data-theme="dark"] .pf-product-features li {
  color: #d1d5db;
  border-color: #374151;
}

[data-theme="dark"] .pf-product-longdesc {
  border-color: #374151;
}

/* ============================================================
   SINGLE PRODUCT PAGE — Enhanced Styles
   ============================================================ */

/* Badges container */
.pf-product-badges {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.pf-product-stock {
  display: inline-block;
  background: #d1fae5;
  color: #065f46;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
}

/* Sale badge */
.pf-product-image {
  position: relative;
}

.pf-product-sale-badge {
  position: absolute;
  top: 20px;
  left: 20px;
  background: linear-gradient(135deg, #ef4444, #dc2626);
  color: white;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  z-index: 2;
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4);
}

/* Rating */
.pf-product-rating {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}

.pf-product-rating .stars {
  color: #fbbf24;
  font-size: 16px;
  letter-spacing: 2px;
}

/* Trust badges */
.pf-product-trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #e5e7eb;
}

.pf-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
}

.pf-trust-item > span {
  font-size: 22px;
  flex-shrink: 0;
}

.pf-trust-item strong {
  display: block;
  font-size: 13px;
  color: #111827;
  font-weight: 700;
  margin-bottom: 2px;
}

.pf-trust-item small {
  display: block;
  color: #6b7280;
  font-size: 11px;
}

/* Product meta */
.pf-product-meta {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #e5e7eb;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 13px;
  color: #6b7280;
}

.pf-product-meta strong {
  color: #374151;
  font-weight: 600;
}

.pf-product-meta a {
  color: #6366f1;
  text-decoration: none;
}

.pf-product-meta a:hover {
  text-decoration: underline;
}

/* Related products */
.pf-related-products {
  margin-top: 60px;
  padding-top: 40px;
  border-top: 1px solid #e5e7eb;
}

.pf-related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.pf-related-card {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: all 0.2s ease;
}

.pf-related-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
  border-color: #c7d2fe;
}

.pf-related-image {
  width: 100%;
  height: 180px;
  background: #f9fafb;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.pf-related-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pf-related-card h4 {
  margin: 14px 16px 6px;
  font-size: 15px;
  font-weight: 700;
  color: #111827;
}

.pf-related-price {
  display: block;
  margin: 0 16px 16px;
  font-size: 14px;
  color: #6366f1;
  font-weight: 600;
}

/* Placeholder */
.pf-product-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #d1d5db;
}

/* Responsive */
@media (max-width: 900px) {
  .pf-product-trust {
    grid-template-columns: 1fr;
  }
  .pf-related-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .pf-related-grid {
    grid-template-columns: 1fr;
  }
}

/* Dark Mode */
[data-theme="dark"] .pf-product-trust,
[data-theme="dark"] .pf-product-meta,
[data-theme="dark"] .pf-related-products {
  border-color: #374151;
}

[data-theme="dark"] .pf-trust-item strong,
[data-theme="dark"] .pf-related-card h4 {
  color: #f9fafb;
}

[data-theme="dark"] .pf-related-card {
  background: #1f2937;
  border-color: #374151;
}

[data-theme="dark"] .pf-related-image {
  background: #111827;
}

/* ============================================================
   WOOCOMMERCE CHECKOUT PAGE — PixelForge Custom
   ============================================================ */

/* ---------- Layout Container ---------- */
.woocommerce-checkout {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 16px;
  font-family: 'Instrument Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  color: #1f2937;
}

.woocommerce-checkout h3,
.woocommerce-checkout h2 {
  font-family: 'Bricolage Grotesque', 'Instrument Sans', sans-serif;
  font-weight: 700;
  color: #111827;
}

/* ---------- Form Fields ---------- */
.woocommerce-checkout .form-row {
  margin-bottom: 18px;
}

.woocommerce-checkout label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 6px;
}

.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  width: 100%;
  padding: 12px 16px;
  font-size: 15px;
  color: #111827;
  background: white;
  border: 1.5px solid #e5e7eb;
  border-radius: 12px;
  transition: all 0.2s ease;
  font-family: inherit;
}

.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
  outline: none;
  border-color: #6366f1;
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1);
}

/* ---------- Sections (Billing, Payment, etc.) ---------- */
.woocommerce-billing-fields,
.woocommerce-additional-fields,
.woocommerce-shipping-fields {
  background: white;
  padding: 28px;
  border-radius: 20px;
  border: 1px solid #e5e7eb;
  margin-bottom: 20px;
}

/* ---------- Payment Methods ---------- */
.woocommerce-checkout #payment {
  background: white;
  border-radius: 20px;
  border: 1px solid #e5e7eb;
  padding: 4px;
  margin-bottom: 20px;
}

.woocommerce-checkout #payment ul.payment_methods {
  list-style: none;
  padding: 16px 20px;
  margin: 0;
  border-bottom: 1px solid #e5e7eb;
}

.woocommerce-checkout #payment ul.payment_methods li {
  padding: 12px 0;
  border-bottom: 1px solid #f3f4f6;
}

.woocommerce-checkout #payment ul.payment_methods li:last-child {
  border-bottom: none;
}

.woocommerce-checkout #payment ul.payment_methods li label {
  display: inline;
  font-weight: 600;
  cursor: pointer;
  font-size: 15px;
  color: #111827;
}

.woocommerce-checkout #payment div.payment_box {
  background: #f9fafb;
  border-radius: 10px;
  padding: 14px 18px;
  margin-top: 10px;
  font-size: 14px;
  color: #6b7280;
}

/* ---------- Place Order Button ---------- */
.woocommerce-checkout #place_order {
  width: 100%;
  padding: 18px 24px;
  font-size: 16px;
  font-weight: 700;
  color: white;
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  border: none;
  border-radius: 14px;
  cursor: pointer;
  box-shadow: 0 6px 20px rgba(99, 102, 241, 0.35);
  transition: all 0.2s ease;
  letter-spacing: 0.02em;
  text-transform: none;
}

.woocommerce-checkout #place_order:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(99, 102, 241, 0.45);
}

/* ---------- Order Review (Right Sidebar) ---------- */
.woocommerce-checkout-review-order {
  background: white;
  padding: 28px;
  border-radius: 20px;
  border: 1px solid #e5e7eb;
  position: sticky;
  top: 24px;
}

.woocommerce-checkout-review-order h3 {
  margin-top: 0;
  font-size: 20px;
  margin-bottom: 20px;
}

.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 12px 0;
  text-align: left;
  border-bottom: 1px solid #f3f4f6;
  font-size: 14px;
}

.woocommerce-checkout-review-order-table th {
  font-weight: 600;
  color: #6b7280;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.woocommerce-checkout-review-order-table td {
  color: #111827;
  font-weight: 500;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
  font-size: 18px;
  font-weight: 800;
  color: #6366f1;
  border-top: 2px solid #e5e7eb;
  border-bottom: none;
  padding-top: 16px;
}

/* ---------- Two-Column Layout ---------- */
.woocommerce-checkout .woocommerce {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 32px;
  align-items: start;
}

.woocommerce-checkout .woocommerce > .col2-set,
.woocommerce-checkout .woocommerce > #customer_details {
  min-width: 0;
}

.woocommerce-checkout .woocommerce > #order_review_heading,
.woocommerce-checkout .woocommerce > #order_review {
  grid-column: auto;
}

@media (max-width: 900px) {
  .woocommerce-checkout .woocommerce {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .woocommerce-checkout-review-order {
    position: static;
  }
}

/* ---------- Coupon Toggle ---------- */
.woocommerce-form-coupon-toggle .woocommerce-info {
  background: #eff6ff;
  border-left: 4px solid #6366f1;
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 20px;
  font-size: 14px;
  color: #1e40af;
}

.woocommerce-form-coupon-toggle .woocommerce-info::before {
  display: none;
}

.woocommerce-form-coupon-toggle a {
  color: #6366f1;
  font-weight: 600;
  text-decoration: none;
}

/* ---------- Terms & Conditions ---------- */
.woocommerce-terms-and-conditions-wrapper {
  background: #f9fafb;
  padding: 14px 18px;
  border-radius: 12px;
  margin-bottom: 20px;
  font-size: 13px;
  color: #6b7280;
}

.woocommerce-terms-and-conditions-wrapper a {
  color: #6366f1;
  font-weight: 600;
}

/* ---------- Mobile Optimizations ---------- */
@media (max-width: 560px) {
  .woocommerce-checkout {
    padding: 16px 12px;
  }
  .woocommerce-billing-fields,
  .woocommerce-additional-fields,
  .woocommerce-shipping-fields,
  .woocommerce-checkout-review-order {
    padding: 20px;
    border-radius: 16px;
  }
  .woocommerce-checkout h3 {
    font-size: 17px;
  }
  .woocommerce-checkout #place_order {
    padding: 16px;
    font-size: 15px;
  }
}

/* ---------- Dark Mode ---------- */
[data-theme="dark"] .woocommerce-billing-fields,
[data-theme="dark"] .woocommerce-additional-fields,
[data-theme="dark"] .woocommerce-shipping-fields,
[data-theme="dark"] .woocommerce-checkout-review-order,
[data-theme="dark"] .woocommerce-checkout #payment {
  background: #1f2937;
  border-color: #374151;
}

[data-theme="dark"] .woocommerce-checkout input,
[data-theme="dark"] .woocommerce-checkout select,
[data-theme="dark"] .woocommerce-checkout textarea {
  background: #111827;
  border-color: #374151;
  color: #f9fafb;
}

[data-theme="dark"] .woocommerce-checkout h3,
[data-theme="dark"] .woocommerce-checkout h2,
[data-theme="dark"] .woocommerce-checkout label {
  color: #f9fafb;
}
/* ============================================================
   FORMINTOR — Contact Form Styling
   ============================================================ */

.pf-contact-form {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 32px;
  box-shadow: var(--shadow);
}

/* Forminator Container */
.pf-contact-form .forminator-ui {
  margin: 0;
  font-family: var(--font-body);
}

.pf-contact-form .forminator-form {
  margin: 0;
}

/* Row spacing */
.pf-contact-form .forminator-row {
  margin-bottom: 20px !important;
  padding: 0 !important;
}

.pf-contact-form .forminator-row:last-child {
  margin-bottom: 0 !important;
}

/* Labels */
.pf-contact-form .forminator-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 8px;
  font-family: inherit;
}

.pf-contact-form .forminator-required {
  color: var(--bad);
}

/* Inputs & Textareas */
.pf-contact-form .forminator-input,
.pf-contact-form .forminator-textarea,
.pf-contact-form .forminator-select {
  width: 100% !important;
  padding: 13px 16px !important;
  font-size: 15px !important;
  font-family: inherit !important;
  color: var(--ink) !important;
  background: var(--surface) !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 12px !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
  line-height: 1.5 !important;
  height: auto !important;
  box-shadow: none !important;
}

.pf-contact-form .forminator-input:focus,
.pf-contact-form .forminator-textarea:focus,
.pf-contact-form .forminator-select:focus {
  outline: none !important;
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 4px var(--brand-soft) !important;
}

.pf-contact-form .forminator-textarea {
  min-height: 140px !important;
  resize: vertical;
  padding: 14px 16px !important;
}

.pf-contact-form .forminator-input::placeholder,
.pf-contact-form .forminator-textarea::placeholder {
  color: var(--muted);
  opacity: 0.7;
}

/* Two-column row (Name + Email) */
.pf-contact-form .forminator-row .forminator-col-6 {
  padding: 0 !important;
}

@media (min-width: 641px) {
  .pf-contact-form .forminator-row[data-row="first-name"],
  .pf-contact-form .forminator-row:has(.forminator-col-6) {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
}

/* Submit Button */
.pf-contact-form .forminator-submit-wrap {
  margin-top: 8px;
}

.pf-contact-form .forminator-button-submit {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100% !important;
  padding: 16px 28px !important;
  background: var(--brand-grad) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 14px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  font-family: inherit !important;
  cursor: pointer;
  box-shadow: 0 6px 20px rgba(46, 70, 255, 0.32) !important;
  transition: all 0.2s ease !important;
  letter-spacing: 0.01em;
  text-transform: none !important;
  line-height: 1.2 !important;
  height: auto !important;
}

.pf-contact-form .forminator-button-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(46, 70, 255, 0.42) !important;
}

/* Error Messages */
.pf-contact-form .forminator-error-message {
  color: var(--bad) !important;
  font-size: 13px;
  margin-top: 6px;
  padding: 0;
  background: transparent !important;
  border: none !important;
}

.pf-contact-form .forminator-has_error .forminator-input,
.pf-contact-form .forminator-has_error .forminator-textarea {
  border-color: var(--bad) !important;
}

/* Success Message */
.pf-contact-form .forminator-success {
  background: var(--t-green-bg) !important;
  border: 1px solid var(--t-green) !important;
  border-radius: 14px !important;
  padding: 24px !important;
  color: var(--t-green) !important;
  font-weight: 600;
  font-size: 15px;
  text-align: center;
}

/* Remove "Edit form" link */
.pf-contact-form .forminator-edit-module,
.pf-contact-form .forminator-edit-module-footer {
  display: none !important;
}

/* Responsive */
@media (max-width: 640px) {
  .pf-contact-form {
    padding: 24px 20px;
    border-radius: 16px;
  }
  .pf-contact-form .forminator-row {
    margin-bottom: 16px !important;
  }
  .pf-contact-form .forminator-button-submit {
    padding: 14px 20px !important;
    font-size: 15px !important;
  }
}

/* Dark Mode */
[data-theme="dark"] .pf-contact-form {
  background: var(--bg-soft);
  border-color: var(--line);
}

[data-theme="dark"] .pf-contact-form .forminator-label {
  color: var(--ink);
}

