/* Barcode Scanning page (barcode.php), styled after the Sales Plan page: the
   same palette, type and section patterns as local/sales_plan/sales_plan.css,
   under its own bar- prefix, plus the parts this page alone has -- the
   illustrative scan result, the symbology chips and the Book a Demo form in
   the closing band. */
.barcode-page { --bar-ink:#172c3b; --bar-muted:#59707d; --bar-green:#159b83; --bar-green-dark:#087a69; --bar-mint:#e8f7f3; --bar-white:#fff; --bar-border:#dce7e9; --bar-shadow:0 16px 44px rgba(20,49,61,.09); --bar-radius:20px; --bar-width:1160px; }
.barcode-page *, .barcode-page *::before, .barcode-page *::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:120px; }
.barcode-page { overflow:hidden; color:var(--bar-ink); background:var(--bar-white); font-family:"Noto Sans", "Segoe UI", Arial, sans-serif; font-size:16px; line-height:1.65; letter-spacing:normal; -webkit-font-smoothing:antialiased; }
.barcode-page :focus-visible { outline:3px solid var(--bar-green-dark); outline-offset:3px; }

/* Site template overrides: the template colours h1-h3 and gives bare ul/ol items padding, bullets and counters */
.barcode-page h1, .barcode-page h2, .barcode-page h3 { color:inherit; font-family:inherit; font-weight:700; }
.barcode-page h3 { letter-spacing:normal; }
.barcode-page ul, .barcode-page ol { margin:0; padding:0; list-style:none; }
.barcode-page ul li, .barcode-page ol li { margin:0; padding:0; }
.barcode-page ul li::before, .barcode-page ol li::before { content:none; position:static; width:auto; height:auto; border-radius:0; background:none; }

/* Shared bits */
.barcode-page .bar-container { width:min(var(--bar-width), calc(100% - 44px)); margin:0 auto; }
.barcode-page .bar-topline { height:5px; background:linear-gradient(90deg, #087a69, #23b69a 58%, #9be2d2); }
.barcode-page .bar-btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; border:1px solid transparent; border-radius:10px; font-family:inherit; font-size:16px; font-weight:750; text-decoration:none; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
.barcode-page .bar-btn:hover { transform:translateY(-2px); }
.barcode-page .bar-btn-primary, .barcode-page .bar-btn-primary:hover { color:#fff; background:var(--bar-green-dark); box-shadow:0 9px 20px rgba(8,122,105,.18); }
.barcode-page .bar-btn-primary:hover { background:#056858; }
.barcode-page .bar-btn-secondary, .barcode-page .bar-btn-secondary:hover { color:var(--bar-ink); background:rgba(255,255,255,.78); border-color:#cbdcde; }
.barcode-page .bar-btn-light, .barcode-page .bar-btn-light:hover { color:#0e5e55; background:#fff; }
.barcode-page .bar-btn-arrow { margin-left:10px; }

/* Hero, with the site-wide buy heading (extbc_buy_head) as its first row */
.barcode-page .bar-hero { position:relative; padding:40px 0 72px; background:radial-gradient(circle at 83% 19%, rgba(56,193,163,.15), transparent 26%), radial-gradient(circle at 8% 88%, rgba(63,143,168,.09), transparent 28%), linear-gradient(135deg, #f7fbfb 0%, #edf7f5 56%, #f8fbfc 100%); border-bottom:1px solid var(--bar-border); }
.barcode-page .bar-buy { margin-bottom:56px; padding-bottom:22px; border-bottom:1px solid var(--bar-border); }
.barcode-page .bar-buy .buy-head__title { font-size:clamp(1.2rem, 2vw, 1.5rem); font-weight:800; line-height:1.3; letter-spacing:-.02em; }
.barcode-page .bar-buy .buy-head__note { color:var(--bar-muted); }
.barcode-page .bar-hero-grid { display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(320px, .85fr); gap:54px; align-items:center; }
.barcode-page .bar-eyebrow { display:inline-flex; align-items:center; gap:9px; padding:7px 12px; border:1px solid #c9e9e2; border-radius:999px; color:var(--bar-green-dark); background:rgba(255,255,255,.8); font-size:12px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.barcode-page .bar-eyebrow-dot { width:7px; height:7px; border-radius:50%; background:var(--bar-green); }
.barcode-page .bar-hero .bar-display { max-width:720px; margin:22px 0 20px; font-size:clamp(38px, 5vw, 62px); line-height:1.06; letter-spacing:-.045em; font-weight:780; }
.barcode-page .bar-hero .bar-display span { color:var(--bar-green-dark); }
.barcode-page .bar-lead { max-width:690px; margin:0; color:#435d6b; font-size:clamp(18px, 2vw, 21px); line-height:1.6; }
.barcode-page .bar-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.barcode-page .bar-hero-note { margin-top:17px; color:var(--bar-muted); font-size:13px; }

/* Illustrative dashboard card, as on the Sales Plan page: tiles over a panel of rows */
.barcode-page .bar-dashboard { position:relative; padding:20px; border:1px solid rgba(197,218,220,.95); border-radius:22px; background:rgba(255,255,255,.87); box-shadow:var(--bar-shadow); transform:rotate(1deg); }
.barcode-page .bar-dashboard::before { content:""; position:absolute; inset:-11px 14px 14px -11px; z-index:-1; border-radius:22px; background:#cceee5; }
.barcode-page .bar-dash-head { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-bottom:16px; border-bottom:1px solid var(--bar-border); }
.barcode-page .bar-dash-title { font-size:13px; font-weight:800; }
.barcode-page .bar-dash-period { color:var(--bar-muted); font-size:11px; white-space:nowrap; }
.barcode-page .bar-dash-metrics { display:grid; grid-template-columns:repeat(2, 1fr); gap:10px; margin-top:14px; }
.barcode-page .bar-metric { padding:13px; border:1px solid #e4edef; border-radius:12px; background:#fbfdfd; }
.barcode-page .bar-metric-label { color:var(--bar-muted); font-size:11px; }
.barcode-page .bar-metric-value { margin-top:2px; font-size:22px; font-weight:800; letter-spacing:-.035em; }
.barcode-page .bar-metric-value small { font-size:11px; color:var(--bar-green-dark); letter-spacing:0; }
.barcode-page .bar-dash-panel { margin-top:12px; padding:13px 15px 6px; border:1px solid #e4edef; border-radius:12px; background:#fbfdfd; }
.barcode-page .bar-dash-panel-title { margin-bottom:4px; font-size:11px; font-weight:750; }
.barcode-page .bar-dash-row { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:9px 0; border-top:1px solid #e9f0f1; font-size:12.5px; }
.barcode-page .bar-dash-panel-title + .bar-dash-row { border-top:0; }
.barcode-page .bar-dash-tag { flex:0 0 auto; padding:3px 9px; border-radius:99px; background:#d7f2e9; color:var(--bar-green-dark); font-size:10.5px; font-weight:800; white-space:nowrap; }

/* Sections */
.barcode-page .bar-section { padding:82px 0; }
.barcode-page .bar-section-alt { background:#f7fafb; border-top:1px solid #edf2f3; border-bottom:1px solid #edf2f3; }
.barcode-page .bar-section-heading { max-width:790px; margin:0 auto 40px; text-align:center; }
.barcode-page .bar-kicker { margin:0 0 10px; color:var(--bar-green-dark); font-size:12px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.barcode-page .bar-section h2 { margin:0; font-size:clamp(29px, 3.2vw, 42px); line-height:1.16; letter-spacing:-.035em; }
.barcode-page .bar-section-heading > p:last-child { margin:17px auto 0; max-width:700px; color:var(--bar-muted); font-size:17px; }

/* Cards */
.barcode-page .bar-feature-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px; }
.barcode-page .bar-card { height:100%; padding:26px; border:1px solid var(--bar-border); border-radius:var(--bar-radius); background:#fff; box-shadow:0 5px 20px rgba(20,49,61,.025); }
.barcode-page .bar-card-icon { display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:13px; background:var(--bar-mint); color:var(--bar-green-dark); }
.barcode-page .bar-card-icon svg { width:23px; height:23px; }
.barcode-page .bar-card h3 { margin:19px 0 9px; font-size:19px; line-height:1.3; letter-spacing:-.015em; }
.barcode-page .bar-card p { margin:0; color:var(--bar-muted); font-size:14px; }
.barcode-page .bar-checklist { display:grid; gap:9px; margin:19px 0 0; padding:0; list-style:none; }
.barcode-page .bar-checklist li { position:relative; padding-left:22px; color:#405965; font-size:14px; }
.barcode-page .bar-checklist li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--bar-green-dark); font-weight:900; }

/* Copy beside a panel */
.barcode-page .bar-split { display:grid; grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); gap:62px; align-items:center; }
.barcode-page .bar-copy p { color:var(--bar-muted); }
.barcode-page .bar-copy .bar-kicker { color:var(--bar-green-dark); }
.barcode-page .bar-copy h2 { max-width:620px; }
.barcode-page .bar-copy h2 + p { margin-top:17px; }
.barcode-page .bar-benefit-list { display:grid; gap:15px; margin-top:26px; }
.barcode-page .bar-benefit { display:grid; grid-template-columns:30px 1fr; gap:13px; align-items:start; }
.barcode-page .bar-benefit-check { display:flex; width:28px; height:28px; align-items:center; justify-content:center; border-radius:50%; background:var(--bar-mint); color:var(--bar-green-dark); font-weight:900; }
.barcode-page .bar-benefit strong { display:block; margin:0 0 2px; font-size:15px; }
.barcode-page .bar-benefit span { display:block; color:var(--bar-muted); font-size:14px; }
.barcode-page .bar-panel { padding:28px; border-radius:22px; background:linear-gradient(155deg, #edf8f5, #f6fafb); border:1px solid #d7ebe6; }
.barcode-page .bar-panel-head { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; align-items:center; margin-bottom:20px; }
.barcode-page .bar-panel-head strong { font-size:15px; }
.barcode-page .bar-status { padding:5px 9px; border-radius:99px; background:#d7f2e9; color:#087a69; font-size:11px; font-weight:800; }
.barcode-page .bar-row { margin-top:13px; padding:14px 16px; border:1px solid #dce9e8; border-radius:12px; background:rgba(255,255,255,.9); }
.barcode-page .bar-row-top { display:flex; justify-content:space-between; gap:16px; font-size:14px; font-weight:750; }
.barcode-page .bar-row-top span:last-child { color:var(--bar-green-dark); text-align:right; }
.barcode-page .bar-row p { margin:4px 0 0; color:var(--bar-muted); font-size:13px; }

/* KPI-style tiles */
.barcode-page .bar-kpi-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px; }
.barcode-page .bar-kpi { padding:21px; border-radius:15px; background:#fff; border:1px solid var(--bar-border); }
.barcode-page .bar-kpi strong { display:block; font-size:17px; line-height:1.3; }
.barcode-page .bar-kpi span { display:block; margin-top:7px; color:var(--bar-muted); font-size:13px; }

/* Side note */
.barcode-page .bar-note { margin:24px 0 0; padding:16px 18px; border-left:3px solid var(--bar-green); background:#f4faf8; color:#49616a; font-size:14px; }
.barcode-page .bar-note a { color:var(--bar-green-dark); font-weight:700; }

/* FAQ */
.barcode-page .bar-faq { max-width:860px; margin:0 auto; }
.barcode-page .bar-faq details { padding:20px 0; border-bottom:1px solid var(--bar-border); }
.barcode-page .bar-faq summary { position:relative; padding-right:28px; list-style:none; font-weight:800; cursor:pointer; }
.barcode-page .bar-faq summary::-webkit-details-marker { display:none; }
.barcode-page .bar-faq summary::after { content:"+"; position:absolute; right:2px; top:-4px; color:var(--bar-green-dark); font-size:24px; font-weight:400; }
.barcode-page .bar-faq details[open] summary::after { content:"−"; }
.barcode-page .bar-faq details p { margin:12px 0 0; color:var(--bar-muted); }

/* Contact band, text left and button right */
.barcode-page .bar-cta { padding:64px 0; color:#fff; background:linear-gradient(120deg, #10394a, #0c695f); }
.barcode-page .bar-cta-grid { display:flex; justify-content:space-between; align-items:center; gap:32px; }
.barcode-page .bar-cta-grid > .bar-btn { flex:0 0 auto; }
.barcode-page .bar-cta h2 { max-width:690px; margin:0; font-size:clamp(28px, 3.3vw, 40px); line-height:1.15; letter-spacing:-.035em; }
.barcode-page .bar-cta-copy p { max-width:700px; margin:13px 0 0; color:#d1e4e6; }

/* Scan result card: a drawn barcode beside each read and the field it fills */
.barcode-page .bar-read { display:flex; align-items:center; gap:10px; font-weight:750; }
.barcode-page .bar-read small { color:var(--bar-muted); font-weight:400; }
.barcode-page .bar-code { display:block; flex:0 0 auto; width:40px; height:18px; background:repeating-linear-gradient(90deg, #172c3b 0 2px, transparent 2px 3px, #172c3b 3px 4px, transparent 4px 6px, #172c3b 6px 9px, transparent 9px 11px); }
.barcode-page .bar-code-2d { width:18px; background:conic-gradient(#172c3b 25%, transparent 0 50%, #172c3b 0 75%, transparent 0) 0 0 / 6px 6px; }

.barcode-page .bar-card-link { display:inline-block; margin-top:16px; color:var(--bar-green-dark); font-weight:750; text-decoration:none; }
.barcode-page .bar-card-link:hover { text-decoration:underline; }

/* What gets scanned: the site's own small icons on a white tile */
.barcode-page .bar-card-icon-img { background:#fff; border:1px solid var(--bar-border); }
.barcode-page .bar-card-icon-img img { display:block; width:30px; height:30px; }

/* Symbology families */
.barcode-page .bar-types { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.barcode-page .bar-chips { display:flex; flex-wrap:wrap; gap:7px; margin-top:16px; }
.barcode-page .bar-chips span { padding:4px 10px; border:1px solid #d5e6e4; border-radius:99px; background:#f7fbfa; color:#405965; font-size:12.5px; line-height:1.4; }

/* Closing band with the Book a Demo form on a white card (its #book-a-demo id
   is where the buy button lands while card payments are off) */
.barcode-page .bar-cta-form { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 460px); gap:56px; align-items:center; }
.barcode-page .bar-cta { padding:72px 0; }
.barcode-page .bar-cta-points { display:grid; gap:9px; margin-top:24px; }
.barcode-page .bar-cta-points li { position:relative; padding-left:24px; color:#e6f1f2; font-size:15px; }
.barcode-page .bar-cta-points li::before { content:"✓"; position:absolute; left:0; top:0; color:#7fdcc7; font-weight:900; }
.barcode-page .bar-form-card { padding:30px; border-radius:var(--bar-radius); background:#fff; color:var(--bar-ink); box-shadow:0 24px 60px rgba(4,24,32,.35); }
.barcode-page .bar-form-card h3 { margin:0 0 18px; font-size:22px; line-height:1.25; letter-spacing:-.02em; }
.barcode-page .bar-field { margin-bottom:14px; }
.barcode-page .bar-field label { display:block; margin-bottom:5px; font-size:13px; font-weight:700; }
.barcode-page .bar-field input, .barcode-page .bar-field textarea { display:block; width:100%; height:auto; margin:0; padding:11px 13px; border:1px solid #cfdcdf; border-radius:10px; background:#fbfdfd; color:var(--bar-ink); font-family:inherit; font-size:15px; line-height:1.4; }
.barcode-page .bar-field textarea { min-height:120px; resize:vertical; }
.barcode-page .bar-field input:focus, .barcode-page .bar-field textarea:focus { border-color:var(--bar-green); background:#fff; }
.barcode-page .bar-form .bar-btn { width:100%; margin-top:6px; }
.barcode-page #form-status { margin-top:14px; font-size:14px; }
@media (max-width:980px) {
    .barcode-page .bar-cta-grid { flex-direction:column; align-items:flex-start; }
    .barcode-page .bar-hero-grid, .barcode-page .bar-split { grid-template-columns:1fr; }
    .barcode-page .bar-hero-grid { gap:42px; }
    .barcode-page .bar-dashboard { max-width:590px; width:100%; margin:0 auto; }
    .barcode-page .bar-feature-grid, .barcode-page .bar-kpi-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .barcode-page .bar-cta-form { grid-template-columns:1fr; gap:36px; }
}
@media (max-width:640px) {
    .barcode-page .bar-container { width:min(var(--bar-width), calc(100% - 30px)); }
    .barcode-page .bar-hero { padding:28px 0 52px; }
    .barcode-page .bar-buy { margin-bottom:34px; }
    .barcode-page .bar-section { padding:58px 0; }
    .barcode-page .bar-feature-grid, .barcode-page .bar-kpi-grid { grid-template-columns:1fr; }
    .barcode-page .bar-card { padding:22px; }
    .barcode-page .bar-panel { padding:20px; }
    .barcode-page .bar-hero-actions { flex-direction:column; align-items:stretch; }
    .barcode-page .bar-btn { width:100%; }
    .barcode-page .bar-dashboard { padding:14px; }
    .barcode-page .bar-metric-value { font-size:20px; }
    .barcode-page .bar-types { grid-template-columns:1fr; }
    .barcode-page .bar-cta { padding:56px 0; }
    .barcode-page .bar-form-card { padding:22px; }
}
@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    .barcode-page .bar-btn { transition:none; }
    .barcode-page .bar-btn:hover { transform:none; }
}
