/* Estúdio de vitrines — componentes isolados, mobile-first, DIREITA noturno. */
.builder-heading{align-items:center!important}
.builder-heading h1{letter-spacing:-.025em!important;line-height:1.08!important}
.builder-heading p{max-width:690px}
.builder-stage-pill{border:1px solid #357c78;background:#104b4a;color:#a5ffde;border-radius:999px;padding:10px 13px;white-space:nowrap;font-size:11px;font-weight:800;letter-spacing:.035em}
.builder-intro{display:flex;align-items:center;gap:13px;border:1px solid #276c68;border-radius:16px;padding:17px 20px;background:linear-gradient(115deg,#0c4047,#10304a);margin-bottom:22px;color:#cbe5e8}
.builder-intro-icon{display:grid;place-items:center;background:#175958;color:#63efc6;border-radius:13px;width:44px;height:44px;font-size:25px;flex:none}
.builder-intro p{margin:0;line-height:1.5;font-size:14px}.builder-intro strong{color:#fff}
.builder-mobile-preview-link{display:none;background:#10474c;border:1px solid #419789;border-radius:10px;color:#b6ffeb;font:800 14px "League Spartan",sans-serif;min-height:45px;padding:11px 15px;margin:-7px 0 17px;width:100%;cursor:pointer}
.builder-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.95fr);align-items:start;gap:21px;max-width:1480px;min-width:0}
.builder-form,.builder-preview-column{min-width:0}
.builder-form{display:grid;gap:17px}
.builder-panel{background:linear-gradient(150deg,#0c2b42,#09283b);border:1px solid #315c6a;border-radius:20px;padding:25px;box-shadow:0 16px 40px #01101d55;min-width:0}
.builder-panel-heading{display:flex;gap:15px;align-items:flex-start;margin-bottom:21px}
.builder-step-number{font-size:23px;font-weight:850;letter-spacing:-.07em;color:#091f31;background:linear-gradient(125deg,#03baf0,#22d8a5,#ffcc55);border-radius:12px;width:45px;height:45px;flex:none;display:grid;place-items:center}
.builder-kicker{color:#70e5cf;font-size:11px;font-weight:850;letter-spacing:.05em}
.builder-panel-heading h2{color:#f1ffff;font-size:clamp(22px,2.25vw,29px);line-height:1.06;letter-spacing:-.035em;margin:5px 0 6px}
.builder-panel-heading p{margin:0;font-size:14px!important;color:#aac8d0!important;line-height:1.42}
.builder-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}
.builder-type,.builder-mode-grid label{position:relative;border-radius:13px;border:1px solid #345f71;background:#0a2237;display:flex;align-items:flex-start;flex-direction:column;padding:15px 13px;gap:5px;cursor:pointer;color:#fff;min-width:0;transition:border .18s,background .18s,transform .18s}
.builder-type input,.builder-mode-grid input{appearance:none;position:absolute;top:12px;right:12px;width:16px;height:16px;border:1.5px solid #779ca9;border-radius:50%;background:#0b2940;cursor:pointer}
.builder-type input:checked,.builder-mode-grid input:checked{background:#25d5ae;border:4px solid #114453}
.builder-type:has(input:checked),.builder-mode-grid label:has(input:checked){border-color:#47ddbe;background:linear-gradient(155deg,#174e58,#0d3748);box-shadow:inset 0 0 0 1px #30ad9e}
.builder-type:focus-within,.builder-mode-grid label:focus-within{outline:2px solid #ffd16b;outline-offset:2px}
.builder-type-icon{font-size:24px;color:#60e9cf;min-height:29px}
.builder-type strong,.builder-mode-grid strong{font-size:16px;line-height:1.2}
.builder-type small,.builder-mode-grid small{font-size:12px;line-height:1.3;color:#a1c1ca}
.builder-field{min-width:0;margin-top:15px}
.builder-field>label,.builder-modes legend{display:block;color:#e7f5f6;font-size:14px;font-weight:780;margin-bottom:7px}
.builder-field>label span{font-weight:500;color:#adc9d2;font-size:12px}.builder-field>label b{color:#ffd166}
.builder-field input,.builder-field select,.builder-field textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:47px;color:#f1fbfd;background:#061e31;border:1px solid #38667a;border-radius:10px;padding:12px 13px;font:600 15px/1.4 "League Spartan",sans-serif;outline-color:#35d1b4}
.builder-field textarea{resize:vertical;min-height:110px}
.builder-field select{cursor:pointer;color-scheme:dark}
.builder-field input::placeholder,.builder-field textarea::placeholder{color:#8eacb9;font-weight:500;opacity:1}
.builder-field>small,.builder-footnote{display:block;color:#a3c0ca;font-size:12px;line-height:1.45;margin-top:7px}
.builder-fields-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.builder-input-action{display:flex;gap:9px;min-width:0}
.builder-input-action input{flex:1}
.builder-input-action button{flex:none;border:0;background:linear-gradient(120deg,#ffce57,#ffb82d);color:#07293a;min-height:46px;border-radius:10px;padding:9px 13px;font:800 14px "League Spartan",sans-serif;cursor:pointer}
.builder-input-action button span{padding-left:7px;font-size:17px}
.builder-input-action button:disabled{opacity:.6;cursor:wait}
.builder-status{font-size:12px;line-height:1.4;border-radius:8px;color:#c5dfdf;background:#102f44;margin:11px 0 0;padding:9px 11px;border-left:3px solid #3fc6b1}
.builder-status.is-error{border-color:#ff9b96;color:#ffd2cf;background:#49303b}
.builder-status.is-success{border-color:#46e0b7;color:#d1ffed;background:#15443e}
.builder-text-button{background:none;border:0;padding:11px 0 0;text-decoration:underline;text-underline-offset:3px;color:#fbd377;font:800 13px "League Spartan",sans-serif;cursor:pointer}
.builder-character{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:7px;color:#9ebfca;font-size:12px}
.builder-character output{white-space:nowrap;color:#7fe8d1}
.builder-modes{border:0;padding:0;margin:21px 0 0;min-width:0}
.builder-modes legend{margin-bottom:10px}
.builder-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.builder-mode-grid label>span{color:#7de9d1;font-size:22px}
.builder-inline-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.builder-inline-links a,.builder-preview-contacts a{display:inline-flex;align-items:center;gap:6px;border:1px solid #388a81;border-radius:8px;color:#ccfff0;background:#114945;padding:9px 11px;font-size:13px;font-weight:800;text-decoration:none}
.builder-inline-links a:hover,.builder-preview-contacts a:hover{border-color:#8affdf}
.builder-post-list{display:grid;gap:9px;margin-top:15px}
.builder-post-list article{border:1px solid #3a6373;background:#09263b;padding:12px;display:flex;gap:11px;align-items:center;border-radius:11px;min-width:0}
.builder-post-list .builder-post-mini{flex:none;background:linear-gradient(120deg,#f5b946,#ce386f,#6551dc);width:39px;height:39px;display:grid;place-items:center;border-radius:10px;color:#fff;font-weight:900;font-size:18px}
.builder-post-list article>div:nth-child(2){flex:1;min-width:0}.builder-post-list strong{display:block;font-size:14px;color:#f5fbfe}.builder-post-list small{display:block;margin-top:3px;word-break:break-all;color:#9dbfcb;font-size:11px}.builder-post-list button{flex:none;background:#54323b;border:1px solid #915968;border-radius:8px;color:#ffd5d9;font-weight:800;padding:8px 10px;cursor:pointer}
.builder-post-footer{border-top:1px solid #35596b;margin-top:17px;padding-top:15px;display:flex;align-items:center;justify-content:space-between;color:#bed5da;font-size:14px}.builder-post-footer strong{color:#ffd271;font-size:16px}
.builder-switch-line{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:15px;border:1px solid #386d73;border-radius:12px;background:#0b3444;cursor:pointer}
.builder-switch-line>span:first-child{flex:1;display:grid;gap:4px}.builder-switch-line strong{color:#eafff6;font-size:15px}.builder-switch-line small{color:#adc9d0;font-size:12px}
.builder-switch-line input{position:absolute;opacity:0;width:1px;height:1px}
.builder-switch{display:block;position:relative;flex:none;width:49px;height:28px;border-radius:20px;border:1px solid #7199a2;background:#31596a;transition:background .2s}
.builder-switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#c9d7dc;border-radius:50%;transition:transform .2s}
.builder-switch-line input:checked+.builder-switch{background:#16aa8e}.builder-switch-line input:checked+.builder-switch:after{transform:translateX(21px);background:#f9fffa}
.builder-switch-line:focus-within{outline:2px solid #ffd166;outline-offset:2px}
.builder-final-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.builder-primary,.builder-secondary{border-radius:11px;min-height:50px;padding:12px 17px;font:800 15px "League Spartan",sans-serif;cursor:pointer}
.builder-primary{background:#ffc34b;color:#072b3a;border:0;flex:1}.builder-primary span{padding-left:15px}
.builder-secondary{background:#0f494c;color:#d7fff5;border:1px solid #3e857d}
.builder-danger{background:none;border:0;color:#ffc1c5;text-decoration:underline;text-underline-offset:4px;padding:14px 0 0;cursor:pointer;font:750 13px "League Spartan",sans-serif}
.builder-sticky{position:sticky;top:108px;display:grid;gap:12px}
.builder-preview-label{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:10px;color:#8de7d3;font-weight:800;letter-spacing:.045em}.builder-preview-label strong{color:#e1f4f3}
.builder-preview-card{border:1px solid #418078;background:#0b2b40;border-radius:21px;overflow:hidden;box-shadow:0 26px 50px #020e1c70}
.builder-preview-cover{height:190px;position:relative;overflow:hidden;background:#0a273c}
.builder-preview-cover img{width:100%;height:100%;object-fit:cover;display:block}.builder-preview-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,#03182c96)}
.builder-preview-cover>span{position:absolute;z-index:1;top:13px;left:13px;background:#ffc64c;color:#092b3d;border-radius:99px;padding:7px 11px;font-size:10px;font-weight:900;letter-spacing:.06em}
.builder-preview-body{padding:19px}
.builder-preview-identity{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.builder-preview-avatar{flex:none;display:grid;place-items:center;width:54px;height:54px;border-radius:14px;background:linear-gradient(125deg,#0079bf,#05cda8);color:#fff;font-weight:900;font-size:18px;box-shadow:0 0 0 3px #356577}
.builder-preview-avatar{overflow:hidden}.builder-preview-avatar img{width:100%;height:100%;object-fit:cover}
.builder-upload-inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}
.builder-upload-inline>label{cursor:pointer;display:flex;flex-direction:column;gap:2px;border:1px solid #3c837b;border-radius:9px;background:#135153;color:#e6fff5;padding:10px 13px;font-size:12px;font-weight:800}
.builder-upload-inline>label small{color:#add8d3;font-size:10px;font-weight:500}
.builder-upload-inline input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}
.builder-upload-inline button{border:1px solid #91596a;border-radius:8px;background:#4c313f;color:#ffd7df;padding:10px 13px;font-weight:750;cursor:pointer}
.builder-preview-identity h3{margin:0;color:#fff;font-size:19px;line-height:1.12;letter-spacing:-.02em;overflow-wrap:anywhere}
.builder-preview-identity p{margin:3px 0 0;color:#b8d0da;font-size:13px}
.builder-preview-badges{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:17px}
.builder-preview-badge,.builder-preview-mode{display:inline-block;border:1px solid #387c7e;background:#164a50;color:#acffeb;padding:7px 9px;border-radius:99px;font-size:11px;font-weight:750}
.builder-preview-mode{color:#ffdea4;border-color:#7f6540;background:#4b3c2b}
.builder-preview-sector{font-size:11px;font-weight:850;letter-spacing:.035em;color:#55ead0}
.builder-preview-body h4{font-size:23px;line-height:1.12;letter-spacing:-.035em;color:#fff;margin:7px 0 10px;overflow-wrap:anywhere}
.builder-preview-body>p{color:#bad3d9!important;font-size:14px!important;line-height:1.5!important;overflow-wrap:anywhere}
.builder-preview-contacts{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px;padding-top:14px;border-top:1px solid #315c6c}
.builder-preview-contacts>span{font-size:12px;color:#91b6c2}
.builder-preview-posts{border:1px solid #315e70;background:#0a2b40;border-radius:15px;padding:15px}
.builder-preview-posts>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#c6f8ed;font-size:12px;letter-spacing:.03em}
.builder-preview-posts>div:first-child span{color:#ffcf73}
.builder-preview-posts #builder-preview-post-list{display:grid;gap:8px;margin-top:11px}
.builder-preview-posts #builder-preview-post-list>p{color:#9dbfc8;font-size:12px;line-height:1.45;margin:0}
.builder-instagram-preview{display:grid;grid-template-columns:47px minmax(0,1fr);gap:10px;align-items:center;text-decoration:none;color:#f3fbfc;border:1px solid #34586c;background:#0b2438;border-radius:11px;padding:8px;min-width:0}
.builder-instagram-preview>span{display:grid;place-items:center;width:47px;height:47px;color:#fff;background:linear-gradient(140deg,#d72c6a,#f8b237);border-radius:9px;font-size:23px}
.builder-instagram-preview>div{min-width:0}.builder-instagram-preview strong{display:block;font-size:13px}.builder-instagram-preview small{display:block;color:#aac8cf;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.builder-preview-note{font-size:11px;line-height:1.5;color:#8eb4c1;margin:0}
.builder-post-original{display:inline-flex;align-items:center;gap:6px;border-radius:8px;border:1px solid #39877b;background:#104d4c;color:#aaffeb!important;padding:10px 12px;font-weight:800;font-size:13px;text-decoration:none;margin-top:8px}
.builder-profile-service{font-size:14px!important;color:#a8f3d8!important}
.builder-profile-links{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0}
.builder-profile-links a{display:inline-flex;background:#104449;border:1px solid #428379;border-radius:9px;color:#c4fff0;padding:10px 12px;text-decoration:none;font-size:13px;font-weight:800}
.builder-profile-links a:hover,.builder-post-original:hover{border-color:#b4ffeb}
@media(max-width:1250px){.builder-layout{grid-template-columns:minmax(0,1fr) minmax(270px,.8fr)}.builder-panel{padding:20px}.builder-type{padding:13px 10px}.builder-type small{font-size:11px}}
@media(max-width:1090px){.builder-layout{grid-template-columns:minmax(0,1fr)}.builder-preview-column{order:-1}.builder-sticky{position:static;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:start}.builder-preview-label{grid-column:1/-1}.builder-preview-posts{margin-top:0}.builder-preview-note{grid-column:1/-1}.builder-preview-cover{height:155px}}
@media(max-width:700px){.builder-heading{display:block!important}.builder-stage-pill{display:inline-block;margin-top:14px}.builder-heading p{font-size:15px!important}.builder-intro{padding:13px;gap:10px}.builder-intro-icon{width:37px;height:37px}.builder-intro p{font-size:13px}.builder-mobile-preview-link{display:block}.builder-layout{gap:16px}.builder-preview-column{order:2}.builder-panel{padding:18px 15px;border-radius:15px}.builder-panel-heading{gap:11px;margin-bottom:16px}.builder-step-number{width:39px;height:39px;font-size:20px}.builder-panel-heading h2{font-size:24px}.builder-panel-heading p{font-size:13px!important}.builder-type-grid{gap:7px}.builder-type{padding:11px 8px;min-height:114px}.builder-type strong{font-size:13px}.builder-type small{font-size:11px}.builder-type-icon{font-size:20px}.builder-fields-two{grid-template-columns:1fr;gap:0}.builder-input-action{flex-wrap:wrap}.builder-input-action input{flex-basis:100%}.builder-input-action button{width:100%;font-size:15px}.builder-mode-grid{gap:6px}.builder-mode-grid label{padding:11px 7px;min-height:104px}.builder-mode-grid strong{font-size:13px}.builder-mode-grid small{font-size:11px}.builder-sticky{grid-template-columns:1fr}.builder-preview-label,.builder-preview-note{grid-column:auto}.builder-preview-cover{height:180px}.builder-final-actions{flex-direction:column}.builder-primary,.builder-secondary{width:100%}}
@media(max-width:370px){.builder-type-grid,.builder-mode-grid{grid-template-columns:1fr}.builder-type,.builder-mode-grid label{min-height:0;padding:12px 13px}.builder-type-icon,.builder-mode-grid label>span{display:none}.builder-type strong,.builder-mode-grid strong{font-size:15px}.builder-panel-heading h2{font-size:22px}}
