/* =========================================================
   QRPilot Stylesheet
   ========================================================= */

:root{
  --color-primary:#4F46E5;
  --color-primary-dark:#3730A3;
  --color-primary-light:#EEF2FF;
  --color-accent:#06B6D4;
  --color-dark:#0F172A;
  --color-text:#1E293B;
  --color-muted:#64748B;
  --color-border:#E2E8F0;
  --color-bg:#FFFFFF;
  --color-bg-alt:#F8FAFC;
  --color-success:#16A34A;
  --color-danger:#DC2626;
  --radius-sm:6px;
  --radius-md:12px;
  --radius-lg:20px;
  --shadow-sm:0 1px 2px rgba(15,23,42,.06);
  --shadow-md:0 8px 24px rgba(15,23,42,.08);
  --shadow-lg:0 20px 45px rgba(15,23,42,.12);
  --container-w:1180px;
  --font-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-base);
  color:var(--color-text);
  background:var(--color-bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--color-primary);text-decoration:none;}
a:hover{text-decoration:underline;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4{line-height:1.25;margin:0 0 .6em;color:var(--color-dark);font-weight:700;}
p{margin:0 0 1em;}
.container{max-width:var(--container-w);margin:0 auto;padding:0 20px;}

.skip-link{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:10px 16px;z-index:9999;}
.skip-link:focus{left:10px;top:10px;}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 26px;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;border:2px solid transparent;font-size:15px;transition:.2s ease;}
.btn-primary{background:var(--color-primary);color:#fff;}
.btn-primary:hover{background:var(--color-primary-dark);text-decoration:none;}
.btn-outline{background:transparent;border-color:var(--color-border);color:var(--color-text);}
.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary);text-decoration:none;}
.btn-sm{padding:8px 16px;font-size:13px;}
.btn-block{width:100%;}

/* Header */
.site-header{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);z-index:200;}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;color:var(--color-dark);}
.logo em{color:var(--color-primary);font-style:normal;}
.main-nav ul{display:flex;gap:26px;align-items:center;}
.main-nav a{color:var(--color-text);font-weight:500;font-size:15px;}
.main-nav > ul > li > a:hover{color:var(--color-primary);}
.has-dropdown{position:relative;}
.dropdown{position:absolute;top:130%;left:0;background:#fff;min-width:230px;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:10px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s ease;border:1px solid var(--color-border);}
.has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown li a{display:block;padding:9px 12px;border-radius:8px;font-size:14px;color:var(--color-text);}
.dropdown li a:hover{background:var(--color-primary-light);color:var(--color-primary);text-decoration:none;}
.nav-toggle{display:none;background:none;border:0;flex-direction:column;gap:5px;cursor:pointer;padding:6px;}
.nav-toggle span{width:24px;height:2px;background:var(--color-dark);display:block;}

/* Cookie banner */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--color-dark);color:#fff;z-index:999;padding:16px 0;display:none;}
.cookie-banner.show{display:block;}
.cookie-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.cookie-inner p{margin:0;font-size:14px;color:#cbd5e1;}
.cookie-inner a{color:#fff;text-decoration:underline;}

/* Hero */
.hero{padding:80px 0 60px;background:linear-gradient(180deg,var(--color-primary-light) 0%, #fff 100%);}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;}
.hero h1{font-size:44px;letter-spacing:-1px;}
.hero .lead{font-size:18px;color:var(--color-muted);margin-bottom:28px;max-width:520px;}
.hero-badges{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap;}
.hero-badges span{font-size:13px;color:var(--color-muted);display:flex;align-items:center;gap:6px;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
.hero-visual{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:26px;border:1px solid var(--color-border);}

/* Sections */
.section{padding:70px 0;}
.section-alt{background:var(--color-bg-alt);}
.section-head{text-align:center;max-width:640px;margin:0 auto 46px;}
.eyebrow{color:var(--color-primary);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:10px;display:block;}
.section-head h2{font-size:32px;}
.section-head p{color:var(--color-muted);font-size:16px;}

/* Grids / Cards */
.grid{display:grid;gap:26px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}

.card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:28px;transition:.2s;}
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);}
.card .icon{width:48px;height:48px;border-radius:12px;background:var(--color-primary-light);display:flex;align-items:center;justify-content:center;color:var(--color-primary);margin-bottom:16px;}
.card h3{font-size:18px;margin-bottom:8px;}
.card p{color:var(--color-muted);font-size:14.5px;margin:0;}

.tool-card{text-align:center;}
.tool-card .icon{margin:0 auto 16px;}

/* Steps */
.steps{counter-reset:step;}
.step{position:relative;padding-left:56px;margin-bottom:28px;}
.step::before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;width:38px;height:38px;border-radius:50%;background:var(--color-primary);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;}
.step h4{margin-bottom:4px;font-size:17px;}
.step p{color:var(--color-muted);margin:0;font-size:14.5px;}

/* FAQ accordion */
.faq-item{border-bottom:1px solid var(--color-border);}
.faq-question{width:100%;text-align:left;background:none;border:0;padding:20px 0;font-weight:600;font-size:16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--color-dark);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .25s ease;color:var(--color-muted);font-size:15px;}
.faq-answer p{padding-bottom:18px;}
.faq-item.open .faq-answer{max-height:600px;}
.faq-question .plus{font-size:22px;transition:.2s;color:var(--color-primary);}
.faq-item.open .plus{transform:rotate(45deg);}

/* CTA band */
.cta-band{background:linear-gradient(120deg,var(--color-primary),var(--color-primary-dark));border-radius:var(--radius-lg);padding:56px;text-align:center;color:#fff;}
.cta-band h2{color:#fff;font-size:30px;}
.cta-band p{color:#dbe0ff;max-width:520px;margin:0 auto 26px;}
.cta-band .btn-primary{background:#fff;color:var(--color-primary);}
.cta-band .btn-primary:hover{background:#f1f1ff;}

/* Footer */
.site-footer{background:var(--color-dark);color:#cbd5e1;padding-top:60px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;}
.footer-brand p{font-size:14px;color:#94a3b8;margin-top:14px;}
.footer-col h3{color:#fff;font-size:15px;margin-bottom:16px;}
.footer-col li{margin-bottom:10px;}
.footer-col a{color:#94a3b8;font-size:14px;}
.footer-col a:hover{color:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;}
.footer-bottom-inner{display:flex;justify-content:space-between;font-size:13px;color:#64748b;flex-wrap:wrap;gap:8px;}

/* Generator Tool UI */
.tool-page-hero{padding:50px 0 20px;text-align:center;background:var(--color-primary-light);}
.tool-page-hero h1{font-size:34px;}
.tool-page-hero p{color:var(--color-muted);max-width:640px;margin:0 auto;}

.generator{padding:46px 0;}
.generator-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-md);}
.qr-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;}
.qr-tab{padding:8px 16px;border-radius:999px;border:1px solid var(--color-border);background:#fff;font-size:13.5px;font-weight:600;cursor:pointer;color:var(--color-muted);}
.qr-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;}
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;}
.form-group .hint{font-size:12.5px;color:var(--color-muted);margin-top:4px;}
.form-control{width:100%;padding:12px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:14.5px;font-family:inherit;}
.form-control:focus{outline:none;border-color:var(--color-primary);}
textarea.form-control{resize:vertical;min-height:90px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.color-row{display:flex;align-items:center;gap:10px;}
.color-row input[type=color]{width:44px;height:44px;padding:2px;border:1.5px solid var(--color-border);border-radius:8px;cursor:pointer;}
.qr-fieldset{display:none;}
.qr-fieldset.active{display:block;}

.qr-output{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-bg-alt);border-radius:var(--radius-md);padding:26px;border:1px dashed var(--color-border);}
#qrCanvasWrap{background:#fff;padding:16px;border-radius:12px;box-shadow:var(--shadow-sm);min-height:220px;display:flex;align-items:center;justify-content:center;}
.qr-download-row{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap;justify-content:center;}
.advanced-options{margin-top:22px;border-top:1px solid var(--color-border);padding-top:18px;}
.advanced-options summary{cursor:pointer;font-weight:600;font-size:14.5px;color:var(--color-primary);}

/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.blog-card{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:#fff;}
.blog-card .blog-thumb{aspect-ratio:16/9;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;}
.blog-card-body{padding:20px;}
.blog-card h3{font-size:17px;margin-bottom:8px;}
.blog-card h3 a{color:var(--color-dark);}
.blog-meta{font-size:12.5px;color:var(--color-muted);margin-bottom:10px;}
.blog-excerpt{font-size:14px;color:var(--color-muted);}

.article-wrap{max-width:760px;margin:0 auto;padding:50px 20px;}
.article-wrap h1{font-size:34px;}
.article-meta{color:var(--color-muted);font-size:14px;margin-bottom:30px;}
.article-body h2{font-size:24px;margin-top:38px;}
.article-body h3{font-size:19px;margin-top:26px;}
.article-body p{color:#334155;font-size:16px;}
.article-body ul,.article-body ol{margin:0 0 20px 22px;color:#334155;}
.article-body li{margin-bottom:8px;}
.article-cta{background:var(--color-primary-light);border-radius:var(--radius-md);padding:26px;text-align:center;margin:34px 0;}

/* Search box */
.search-box{display:flex;gap:8px;max-width:420px;margin:0 auto 36px;}
.search-box input{flex:1;padding:12px 16px;border-radius:999px;border:1.5px solid var(--color-border);}
.search-box button{border-radius:999px;}

/* Breadcrumb nav */
.breadcrumb-nav{font-size:13px;color:var(--color-muted);padding:16px 0;}
.breadcrumb-nav a{color:var(--color-muted);}
.breadcrumb-nav span{margin:0 6px;}

/* Static pages */
.page-hero{padding:56px 0;background:var(--color-primary-light);text-align:center;}
.page-hero h1{font-size:36px;}
.static-content{max-width:820px;margin:0 auto;padding:50px 20px;}
.static-content h2{font-size:24px;margin-top:34px;}
.static-content p,.static-content li{color:#334155;font-size:15.5px;}
.static-content ul{margin-left:22px;}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.contact-info .card{margin-bottom:16px;}
.alert{padding:14px 18px;border-radius:var(--radius-sm);font-size:14.5px;margin-bottom:20px;}
.alert-success{background:#DCFCE7;color:#166534;border:1px solid #86efac;}
.alert-error{background:#FEE2E2;color:#991B1B;border:1px solid #fca5a5;}

/* 404 */
.error-page{text-align:center;padding:100px 20px;}
.error-page h1{font-size:96px;color:var(--color-primary);margin-bottom:0;}

/* Utility */
.text-center{text-align:center;}
.mt-0{margin-top:0;}
.mb-0{margin-bottom:0;}
.lazyload{opacity:0;transition:opacity .3s;}
.lazyload.loaded{opacity:1;}

/* Responsive */
@media(max-width:960px){
  .hero-inner{grid-template-columns:1fr;}
  .generator-panel{grid-template-columns:1fr;}
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .blog-grid{grid-template-columns:repeat(2,1fr);}
  .contact-grid{grid-template-columns:1fr;}
}
@media(max-width:720px){
  .nav-toggle{display:flex;}
  .main-nav{position:fixed;top:70px;left:0;right:0;bottom:0;background:#fff;transform:translateX(-100%);transition:.25s;overflow-y:auto;padding:20px;}
  .main-nav.open{transform:translateX(0);}
  .main-nav ul{flex-direction:column;align-items:flex-start;gap:4px;}
  .main-nav > ul > li{width:100%;}
  .main-nav > ul > li > a{display:block;padding:12px 0;width:100%;border-bottom:1px solid var(--color-border);}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;display:none;padding-left:14px;}
  .has-dropdown.open .dropdown{display:block;}
  .hero h1{font-size:32px;}
  .grid-3,.grid-4,.grid-2{grid-template-columns:1fr;}
  .blog-grid{grid-template-columns:1fr;}
  .cta-band{padding:36px 20px;}
  .form-row{grid-template-columns:1fr;}
}
