/*
Theme Name: JB Studio Portal
Theme URI: https://hubzone.dk/
Author: JB Studio
Description: Mørkt, responsivt portfolio-tema med kundelogin, projekter og aftaler via JB Kundeportal.
Version: 1.0.1
Requires PHP: 8.0
Text Domain: jb-studio-portal
*/
:root{--ink:#f6f7fc;--muted:#a4aec0;--bg:#090d16;--surface:#131b2b;--line:#293449;--accent:#71f0ce;--blue:#9daeff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit}.jb-shell{max-width:1160px;margin:0 auto;padding:0 25px}.jb-header{border-bottom:1px solid var(--line);background:rgba(9,13,22,.95);position:sticky;top:0;z-index:5}.jb-topbar{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:20px}.jb-brand{font-weight:850;color:#fff;letter-spacing:.04em;font-size:1.12rem}.jb-brand b{color:var(--accent)}.jb-nav{display:flex;gap:25px;align-items:center}.jb-nav a{color:#dce3f2}.jb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#061913!important;padding:12px 19px;border-radius:12px;font-weight:750;border:0}.jb-btn:hover{text-decoration:none;filter:brightness(1.08)}.jb-btn-light{background:#273449;color:#fff!important}.jb-hero{padding:100px 0 90px;background:radial-gradient(ellipse at 85% 20%,#174248 0%,transparent 52%),linear-gradient(125deg,#101b2f,#090d16 72%)}.jb-eyebrow{color:var(--accent);font-size:.74rem;font-weight:850;letter-spacing:.19em;text-transform:uppercase}.jb-hero h1{font-size:clamp(2.8rem,6.6vw,6.3rem);letter-spacing:-.06em;line-height:1.04;max-width:910px;margin:16px 0 24px}.jb-hero p{font-size:1.2rem;color:var(--muted);max-width:630px;margin-bottom:34px}.jb-hero-actions{display:flex;gap:14px;flex-wrap:wrap}.jb-section{padding:75px 0}.jb-section h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.045em;margin:9px 0 29px}.jb-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.jb-gallery-card{overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:18px}.jb-gallery-card img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.jb-gallery-card div{padding:18px 22px}.jb-gallery-card h3{margin:0;font-size:1.13rem;color:#fff}.jb-gallery-card p{margin:4px 0;color:var(--muted);font-size:.93rem}.jb-callout{padding:38px;background:linear-gradient(115deg,#192c3b,#19203a);border:1px solid var(--line);border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.jb-callout h2{margin:0 0 8px;font-size:1.7rem}.jb-callout p{margin:0;color:var(--muted)}.jb-footer{border-top:1px solid var(--line);color:var(--muted);padding:32px 0;margin-top:45px}.jb-footer .jb-shell{display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px}.jb-page{padding-top:65px;padding-bottom:70px;min-height:55vh}.jb-page>h1{letter-spacing:-.05em;font-size:clamp(2rem,5vw,3.7rem)}.jb-private,.jb-detail{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:30px;max-width:900px}.jb-private input{width:100%;max-width:440px;background:#0e1523;color:#fff;border:1px solid var(--line);padding:12px;border-radius:9px}.jb-private input[type=checkbox]{width:auto}.jb-private input[type=submit]{background:var(--accent);color:#071a14;font-weight:800;cursor:pointer}.jb-portal-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:30px}.jb-portal-heading h1{margin:5px 0;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em}.jb-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:45px}.jb-stats>div{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:24px;display:flex;flex-direction:column}.jb-stats strong{font-size:2rem}.jb-stats span{color:var(--muted)}.jb-portal h2{font-size:1.7rem}.jb-project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.jb-project-card{display:block;background:var(--surface);border:1px solid var(--line);padding:23px;border-radius:16px;color:var(--ink);transition:border-color .2s}.jb-project-card:hover{border-color:var(--accent);text-decoration:none}.jb-project-card h3{font-size:1.3rem;margin:8px 0}.jb-project-card p{color:var(--muted);margin:0 0 22px}.jb-card-bottom{border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;align-items:center;gap:10px}.jb-pill{border-radius:50px;padding:4px 9px;font-size:.76rem;font-weight:800}.jb-paid{background:#123e34;color:#80f5ce}.jb-unpaid{background:#463323;color:#ffca7a}.jb-agreements{display:grid;gap:12px}.jb-agreement{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:22px;display:flex;justify-content:space-between;align-items:center;gap:16px}.jb-agreement p{color:var(--muted);margin:5px 0}.jb-detail{max-width:none}.jb-detail h2{font-size:2.3rem;margin:0 0 23px}.jb-detail h3{margin-top:30px}.jb-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.jb-detail-grid>div{background:#0d1523;border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column}.jb-detail-grid span{color:var(--muted);font-size:.85rem}.jb-description{color:#d9e1eb}.jb-project-image{max-width:850px;width:100%;border-radius:14px;border:1px solid var(--line)}.jb-timeline{border-left:2px solid var(--line);margin-left:8px;padding-left:25px}.jb-history{position:relative;border:1px solid var(--line);background:#0c1422;border-radius:12px;padding:20px;margin-bottom:15px}.jb-history:before{content:'';position:absolute;top:25px;left:-33px;background:var(--accent);width:12px;height:12px;border-radius:50%}.jb-history time{color:var(--accent);font-size:.85rem}.jb-history img{max-width:400px;border-radius:9px;display:block}.jb-prose{max-width:850px}.jb-prose p{color:#d4dbe8}@media(max-width:750px){.jb-topbar{flex-wrap:wrap;padding:15px 0}.jb-nav{gap:14px;font-size:.9rem}.jb-hero{padding:75px 0}.jb-gallery,.jb-project-grid{grid-template-columns:1fr}.jb-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.jb-stats>div{padding:12px}.jb-stats strong{font-size:1.4rem}.jb-stats span{font-size:.72rem}.jb-callout,.jb-agreement,.jb-portal-heading{align-items:flex-start;flex-direction:column}.jb-detail-grid{grid-template-columns:repeat(2,1fr)}.jb-detail,.jb-private{padding:19px}}

/* Portfolio lightbox */
.jb-gallery-open{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;color:#fff;cursor:zoom-in;text-align:left}.jb-gallery-open:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.jb-gallery-zoom{position:absolute;right:12px;bottom:12px;padding:5px 10px;border-radius:8px;background:rgba(0,0,0,.76);font-size:.83rem;font-weight:700}.jb-lightbox{border:0;padding:0;margin:auto;background:transparent;color:#fff;width:min(96vw,1600px);max-width:96vw;max-height:96vh;overflow:visible}.jb-lightbox::backdrop{background:rgba(0,0,0,.93)}.jb-lightbox-inner{display:flex;align-items:center;justify-content:center;min-height:30vh;position:relative}.jb-lightbox figure{margin:0;min-width:0;display:flex;flex-direction:column;align-items:center}.jb-lightbox figure img{display:block;max-width:calc(96vw - 110px);max-height:calc(96vh - 85px);width:auto;height:auto;object-fit:contain}.jb-lightbox figcaption{text-align:center;padding:12px 0;font-weight:650}.jb-lightbox button{position:absolute;border:0;border-radius:50%;width:42px;height:42px;background:rgba(26,36,54,.88);color:#fff;cursor:pointer;font-size:32px;display:flex;align-items:center;justify-content:center;z-index:2}.jb-lightbox button:focus-visible{outline:3px solid var(--accent)}.jb-lightbox-close{top:-9px;right:0}.jb-lightbox-prev{left:0}.jb-lightbox-next{right:0}.jb-lightbox button[hidden]{display:none}@media(max-width:600px){.jb-lightbox figure img{max-width:96vw;max-height:calc(96vh - 95px)}.jb-lightbox-prev,.jb-lightbox-next{top:auto;bottom:-6px}.jb-lightbox figcaption{padding-bottom:53px}}
