
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root{
  --navy:#0b2746;
  --navy-2:#153a63;
  --teal:#0f91a8;
  --teal-dark:#0b7487;
  --blue:#02aee8;
  --pale:#f4f9fc;
  --line:#d9e6ef;
  --text:#102a43;
  --muted:#667b91;
  --white:#fff;
  --shadow:0 24px 70px rgba(11,39,70,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:#fff;color:var(--text)}
button,input,textarea,select{font:inherit}
button{touch-action:manipulation}
header{
  height:72px;background:#fff;padding:0 max(22px,calc((100% - 1320px)/2));
  display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf3f7
}
.brand{text-decoration:none;color:var(--text);font-size:25px;font-weight:900;letter-spacing:-1px}
.brand span{color:var(--teal)}
header b{font-size:13px;background:#eaf8fb;color:#087b8e;padding:8px 12px;border-radius:999px}
.hero{background:linear-gradient(135deg,#0b2746,#264f7a);text-align:center;color:#fff;padding:48px 20px 96px}
.hero small,.eyebrow{color:#70e3f2;font-weight:900;letter-spacing:1.2px;font-size:11px}
.hero h2{font-size:clamp(32px,4vw,52px);margin:10px 0 10px;letter-spacing:-1.7px;line-height:1.08;color:#fff}
.hero p{margin:0 auto;color:#dceaf5;font-size:17px;max-width:720px;line-height:1.6}

.designer{
  width:min(1320px,calc(100% - 32px));margin:-58px auto 58px;background:var(--pale);
  border:1px solid rgba(255,255,255,.8);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)
}
.type-picker{padding:24px;background:#fff;border-bottom:1px solid var(--line)}
.type-picker-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.type-picker-heading h1{margin:4px 0 0;color:var(--navy);font-size:24px;line-height:1.15;letter-spacing:-.5px}
.type-picker-heading .eyebrow{color:var(--teal)}
.type-hint{color:var(--muted);font-size:12px}
.types{display:grid;grid-template-columns:repeat(11,minmax(70px,1fr));gap:9px}
.types button{
  min-width:0;min-height:78px;border:1px solid #d8e4ec;background:#f8fbfd;color:#36536f;
  padding:10px 6px;border-radius:14px;font-size:12px;font-weight:800;cursor:pointer;transition:.18s ease
}
.types button span{display:block;color:var(--teal);font-size:21px;line-height:1;margin-bottom:8px}
.types button:hover,.types button:focus-visible{border-color:#9bcfd8;background:#eefbfc;transform:translateY(-1px);outline:none}
.types button.active{
  background:linear-gradient(145deg,var(--navy),var(--navy-2));color:#fff;border-color:var(--navy);
  box-shadow:0 10px 24px rgba(11,39,70,.22)
}
.types button.active span{color:#7ce6f2}

.progress-strip{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:#f8fbfd;border-bottom:1px solid var(--line)
}
.progress-strip div{display:flex;align-items:center;justify-content:center;gap:9px;padding:14px;color:#71849a;font-weight:800;font-size:13px}
.progress-strip div+div{border-left:1px solid var(--line)}
.progress-strip b,.step-number{
  display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e5f1f6;color:var(--teal);font-size:12px
}
.progress-strip .is-current{color:var(--navy)}
.progress-strip .is-current b{background:var(--teal);color:#fff}

.workspace{display:grid;grid-template-columns:minmax(520px,1fr) 430px;gap:24px;padding:24px}
.controls{min-width:0}
.panel{
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;margin-bottom:18px;
  box-shadow:0 7px 22px rgba(11,39,70,.055)
}
.panel-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.panel-heading .step-number{flex:0 0 34px;width:34px;height:34px;background:#e9f8fa;color:var(--teal);font-weight:900}
.panel-heading small{display:block;color:var(--teal);font-size:10px;font-weight:900;letter-spacing:1px;margin-bottom:2px}
.panel-heading h2{margin:0;color:var(--navy);font-size:20px;text-transform:none;letter-spacing:-.3px}
.field{margin-bottom:15px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
label{font-size:13px;font-weight:800;display:block;color:#294661}
input,textarea,select{
  width:100%;border:1px solid #cbd9e4;border-radius:11px;padding:13px 14px;margin-top:7px;color:var(--text);
  background:#fff;outline:none;transition:.16s ease
}
textarea{min-height:118px;resize:vertical}
input:hover,textarea:hover,select:hover{border-color:#adc3d2}
input:focus,textarea:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(15,145,168,.12)}
.note{font-size:12px;color:#75869c;margin:7px 0}
#error{min-height:18px;margin:5px 0 0;color:#c42d2d;font-size:12px}
.field-help{margin:-2px 0 14px;padding:10px 12px;background:#eef9fd;border-left:3px solid var(--blue);border-radius:7px;color:#60728b;font-size:12px;line-height:1.5}
.field-help.strong{margin-top:0;color:#405673}

.design-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}
.design-tabs button{
  border:1px solid var(--line);background:#f8fbfd;padding:11px 8px;border-radius:10px;color:#60728d;font-weight:800;cursor:pointer
}
.design-tabs button:hover{border-color:#9fcbd4;color:var(--teal)}
.design-tabs button.active{color:#fff;background:var(--teal);border-color:var(--teal);box-shadow:0 7px 18px rgba(15,145,168,.2)}
.design-page{display:none}
.design-page.active{display:block}
.design-page h3{font-size:12px;text-transform:uppercase;letter-spacing:.65px;margin:0 0 12px;color:#46627e}
.choices{display:grid;grid-template-columns:repeat(6,minmax(66px,1fr));gap:9px;margin:0 0 18px}
.choices button{
  min-height:70px;background:#f8fbfd;border:1px solid #dbe6ee;border-radius:12px;color:var(--text);
  font-size:11px;font-weight:850;cursor:pointer;transition:.16s ease
}
.choices button:hover{border-color:#91c8d2;background:#f0fbfc;transform:translateY(-1px)}
.choices button.selected{border:2px solid var(--teal);background:#eaf9fb;box-shadow:0 0 0 3px rgba(15,145,168,.08)}
.shapes{grid-template-columns:repeat(3,minmax(72px,100px))}
.shapes button{font-size:30px}
.logos{grid-template-columns:repeat(3,minmax(72px,110px))}
.logos button{font-size:15px}
.upload{display:inline-block;color:#087f93;cursor:pointer}
.upload input{display:block;padding:10px}
.colors{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.colors label{position:relative}
.colors input[type=color]{position:absolute;right:6px;bottom:6px;width:38px;height:38px;padding:2px;border:0}
.warning{background:#fff7df;color:#755515;padding:11px 12px;border-radius:9px;font-size:12px;border:1px solid #f0dfaa}

.preview{
  position:sticky;top:18px;align-self:start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;
  display:flex;flex-direction:column;align-items:center;min-height:620px;box-shadow:0 12px 34px rgba(11,39,70,.08)
}
.preview-heading{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.preview-heading h2{margin:4px 0 0;font-size:20px;color:var(--navy)}
.live{color:#657990;font-size:11px;font-weight:900;letter-spacing:.5px}
.live:first-letter{color:#16af72}
.quality{padding:6px 9px;border-radius:999px;background:#eaf8ef;color:#23814b;font-size:10px;font-weight:900}
.preview-stage{
  width:100%;min-height:390px;display:grid;place-items:center;background:
  linear-gradient(45deg,#f7fafc 25%,transparent 25%),linear-gradient(-45deg,#f7fafc 25%,transparent 25%),
  linear-gradient(45deg,transparent 75%,#f7fafc 75%),linear-gradient(-45deg,transparent 75%,#f7fafc 75%);
  background-size:22px 22px;background-position:0 0,0 11px,11px -11px,-11px 0;border:1px solid #edf2f6;border-radius:14px;padding:18px
}
.preview canvas{max-width:100%;height:auto}
.scan-note{font-size:12px;color:#718196;margin:12px 0 15px}
.download-card{display:flex;align-items:center;gap:10px;width:100%;padding-top:15px;border-top:1px solid var(--line)}
.download-card .step-number{background:var(--teal);color:#fff;font-weight:900}
.download-copy small{display:block;color:var(--teal);font-size:9px;letter-spacing:1px;font-weight:900}
.download-copy strong{display:block;color:var(--navy);font-size:13px;margin-top:2px}
.download-row{display:grid;grid-template-columns:1fr 82px;width:100%;gap:8px;margin-top:12px}
.download-row button{border:0;background:var(--teal);color:#fff;padding:14px;font-weight:900;cursor:pointer;border-radius:10px;transition:.16s ease}
.download-row button:hover{background:var(--teal-dark);transform:translateY(-1px)}
.download-row button:last-child{background:#e8f4f7;color:#126f80}
.download-row button:last-child:hover{background:#d8eef2}
.reset{margin-top:10px;border:0;background:transparent;color:#60738c;cursor:pointer}
.reset:hover{color:var(--navy)}

#frame-wrap{margin:auto;display:flex;flex-direction:column;align-items:center;background:#fff;padding:23px;position:relative}
#frame-wrap strong{display:none;font-size:20px;letter-spacing:.5px;padding-top:7px}
#frame-wrap.frame-scan,#frame-wrap.frame-bottom{border:8px solid var(--frame,#102a43);border-radius:10px;padding:13px}
#frame-wrap.frame-scan strong,#frame-wrap.frame-bottom strong{display:block;color:var(--frame,#102a43)}
#frame-wrap.frame-rounded{border:7px solid var(--frame,#102a43);border-radius:30px;padding:18px}
#frame-wrap.frame-rounded strong{display:block;color:var(--frame,#102a43)}
#frame-wrap.frame-phone{border:10px solid var(--frame,#102a43);border-radius:26px;padding:18px 12px 28px}
#frame-wrap.frame-phone:after{content:'';position:absolute;width:35px;height:5px;background:var(--frame);bottom:10px;border-radius:5px}
#frame-wrap.frame-badge{border:7px solid var(--frame,#102a43);border-radius:50%;padding:27px}
#frame-wrap.frame-badge strong{display:block;color:var(--frame);text-align:center}

.benefits{background:#fff;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:34px max(20px,calc((100% - 1000px)/2));text-align:center}
.benefits div{padding:18px;border:1px solid #e6eef4;border-radius:14px}
.benefits b,.benefits span{display:block}
.benefits b{color:var(--navy)}
.benefits span{color:#718196;font-size:13px;margin-top:5px}
footer{background:#fff;border-top:1px solid var(--line);text-align:center;padding:22px;color:#718196;font-size:13px}

@media(max-width:1150px){
  .types{grid-template-columns:repeat(6,1fr)}
  .workspace{grid-template-columns:minmax(0,1fr) 390px}
  .choices{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .workspace{grid-template-columns:1fr}
  .preview{position:relative;top:auto;min-height:520px}
  .designer{width:min(100% - 18px,760px)}
  .types{grid-template-columns:repeat(4,1fr)}
  .field-row,.colors{grid-template-columns:1fr}
}
@media(max-width:620px){
  header{height:62px;padding:0 14px}
  .brand{font-size:21px}
  .hero{padding:38px 16px 82px}
  .hero h2{font-size:32px}
  .type-picker{padding:16px}
  .type-picker-heading{display:block}
  .type-hint{display:block;margin-top:8px}
  .types{grid-template-columns:repeat(3,1fr)}
  .progress-strip div{padding:11px 5px;font-size:11px}
  .workspace{padding:12px}
  .panel,.preview{padding:16px}
  .design-tabs button{font-size:11px}
  .choices{grid-template-columns:repeat(2,1fr)}
  .preview-stage{min-height:330px}
  .benefits{grid-template-columns:1fr;gap:12px}
}
@media(max-width:390px){
  .types{grid-template-columns:repeat(2,1fr)}
  .download-row{grid-template-columns:1fr}
}

/* WordPress landing-page title safeguard */
.etft-qr-page h1,
.etft-qr-page-title,
.etft-qr-page .entry-title,
.etft-qr-page .wp-block-post-title{color:#0b2746}
.etft-qr-hero h1{color:#fff}
