/* Quadro Significado e Significado de Natal, caminho C (29/10/2026): "o quadro é o editor".
   O visual é o do protótipo aprovado (NovoSite/workshop/significado-app/src/estilo.css): rosa #d6284f, Inter e a letra do
   quadro nas palavras. O painel nunca rola (regra 3), os avisos ficam no topo (regra 12), o celular baixo segue a P30 e o
   teclado aberto, a P26. Só a tela: nada aqui muda o pedido. */

/* O personalizador na página: no tema novo, dentro do diálogo do tema; no tema antigo, na camada própria (botão da página). */
.fm-text-art-app.is-ready>[data-fm-text-art-mount]{display:none}
dialog .fm-text-art-app.is-ready>[data-fm-text-art-mount]{display:block}
dialog .fm-text-art-app,dialog [data-fm-text-art-mount]{height:100%}
dialog .fm-sig__launch{display:none}
form.cart:has(.fm-text-art-app.is-ready)>.single_add_to_cart_button,form.cart:has(.fm-text-art-app.is-ready)>.quantity{display:none!important}
.fm-sig__launch{display:block;width:100%;margin:12px 0;padding:16px 20px;border:0;border-radius:999px;background:#d6284f;color:#fff;font:600 16px Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;cursor:pointer}
.fm-sig__launch:hover{background:#bf2246}
.fm-sig-portal{position:fixed;inset:0;z-index:999999;background:rgba(48,40,32,.6);display:flex;align-items:stretch;justify-content:center}
.fm-sig-portal [data-fm-text-art-mount]{display:block;width:100%;height:100%}
.fm-sig-locked{overflow:hidden}

/* Raiz */
.fm-sig,.fm-sig *{box-sizing:border-box}
.fm-sig{--pink:#d6284f;--pink-d:#b8204a;--soft:#fdeef1;--ink:#252a28;--muted:#5f6662;--line:#e0dcd5;--ground:#f5f2ed;
  --serif:"FM Text Art Monterchi","Cormorant Garamond",Georgia,serif;--sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  position:relative;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;overflow:hidden;background:#fff;color:var(--ink);
  font:14px/1.4 var(--sans);text-align:left;-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none}
.fm-sig-portal .fm-sig{height:100dvh}
.fm-sig [hidden]{display:none!important}
.fm-sig button{font:inherit;color:inherit;background:none;border:0;margin:0;padding:0;min-width:0;min-height:0;width:auto;height:auto;border-radius:0;box-shadow:none;text-transform:none;letter-spacing:normal;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.fm-sig button:disabled{opacity:.4;cursor:default}
.fm-sig button:focus-visible,.fm-sig input:focus-visible,.fm-sig textarea:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
.fm-sig :is(button,.fm-sig__empty,.fm-sig__pinch) svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fm-sig :is(button,.fm-sig__empty,.fm-sig__pinch) svg.is-fill{fill:currentColor;stroke:none}
.fm-sig input,.fm-sig textarea{user-select:text;-webkit-user-select:text}

/* Topo: só na camada própria (tema antigo). No diálogo do tema novo, o topo é o do tema. */
.fm-sig__header{display:none}
.fm-sig-portal .fm-sig__header{display:grid;grid-template-columns:48px minmax(0,1fr) 72px;align-items:center;gap:6px;flex:none;height:52px;padding:0 10px;border-bottom:1px solid var(--line);background:#fff}
.fm-sig__header strong{text-align:center;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-sig__header>span{text-align:right;font-size:12.5px;color:var(--muted);white-space:nowrap}
.fm-sig .fm-sig__header button{width:40px;height:40px;border-radius:50%;display:grid;place-items:center}

/* Prévia */
.fm-sig__stage{position:relative;flex:1 1 auto;min-height:120px;background:var(--ground);overflow:hidden;touch-action:none}
.fm-sig.is-scene .fm-sig__stage{background:radial-gradient(ellipse at 50% 18%,#fbf8f3 0%,#efe8de 55%,#e6ddd1 100%)}
.fm-sig__chips{position:absolute;top:10px;left:12px;right:12px;z-index:4;display:flex;justify-content:space-between;gap:8px;pointer-events:none}
.fm-sig__seg{pointer-events:auto;display:flex;background:#fff;border-radius:999px;padding:3px;box-shadow:0 1px 2px rgba(20,30,28,.06),0 6px 16px rgba(20,30,28,.08)}
.fm-sig .fm-sig__seg button{position:relative;padding:7px 11px;border-radius:999px;border:1.5px solid transparent;font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap}
.fm-sig .fm-sig__seg button[aria-pressed=true]{background:var(--soft);border-color:var(--pink);color:var(--ink)}
.fm-sig .fm-sig__chip{pointer-events:auto;display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1.5px solid transparent;background:#fff;font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;box-shadow:0 1px 2px rgba(20,30,28,.06),0 6px 16px rgba(20,30,28,.08)}
.fm-sig .fm-sig__chip[aria-pressed=true]{border-color:var(--pink);background:var(--soft)}
.fm-sig .fm-sig__chip svg{width:15px;height:15px}
/* Alvos de 44 px nas chaves sobre a prévia, sem mudar o desenho */
.fm-sig .fm-sig__seg button::after,.fm-sig .fm-sig__chip::after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}
.fm-sig .fm-sig__chip{position:relative}

/* O quadro: o canvas com a arte e a lateral de 3 cm em perspectiva (como no protótipo) */
.fm-sig__frame{position:absolute;left:0;top:0;transform-origin:0 0;transition:transform .45s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 16px 18px rgba(40,30,20,.16));pointer-events:none}
.fm-sig__frame.is-instant{transition:none}
.fm-sig__frame canvas{display:block;width:100%;height:100%;max-width:none;background:#fff;pointer-events:auto}
.fm-sig__frame i{position:absolute;display:block}
.fm-sig__side-r{top:0;left:100%;width:var(--d,0);height:100%;transform-origin:0 0;transform:skewY(45deg);background:linear-gradient(90deg,#dcd8d2,#cfcac4)}
.fm-sig__side-b{left:0;top:100%;width:100%;height:var(--d,0);transform-origin:0 0;transform:skewX(45deg);background:linear-gradient(#cdc8c1,#c3beb7)}
.fm-sig__frame.is-black .fm-sig__side-r{background:linear-gradient(90deg,#3a3633,#2b2826)}
.fm-sig__frame.is-black .fm-sig__side-b{background:linear-gradient(#2e2a28,#24211f)}
.fm-sig.is-scene .fm-sig__frame{filter:drop-shadow(10px 14px 14px rgba(60,40,20,.22))}
.fm-sig__measure{position:absolute;left:0;right:0;z-index:2;text-align:center;font-size:12px;color:var(--muted);pointer-events:none}
.fm-sig .fm-sig__arrow{position:absolute;z-index:4;width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.12);display:grid;place-items:center;font-size:24px;line-height:1;color:var(--ink);padding-bottom:3px}
.fm-sig .fm-sig__arrow--prev{left:8px}
.fm-sig .fm-sig__arrow--next{right:8px}
.fm-sig__empty{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:6px;color:#857f77;font-size:13px;font-weight:600;line-height:1.25;text-align:center;pointer-events:none}
.fm-sig .fm-sig__empty svg{width:34px;height:34px;stroke-width:1.5}
.fm-sig__empty.is-small{gap:4px;font-size:11.5px}
.fm-sig .fm-sig__empty.is-small svg{width:22px;height:22px}
.fm-sig__sample{position:absolute;z-index:3;padding:3px 8px;border-radius:999px;background:rgba(37,42,40,.72);color:#fff;font-size:11px;font-weight:600;white-space:nowrap;pointer-events:none}
.fm-sig__tip{position:absolute;left:50%;z-index:6;width:min(300px,86%);transform:translateX(-50%);display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:16px;background:rgba(37,42,40,.94);color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.fm-sig__tip b{font-size:15px;font-weight:700}
.fm-sig__tip span{font-size:13.5px;color:#e9e4dd}
.fm-sig .fm-sig__tip button{align-self:flex-end;margin-top:6px;padding:9px 16px;border-radius:999px;background:#fff;color:var(--ink);font-size:13px;font-weight:700}

/* Faixa de quadros (P5): miniaturas numeradas, ✓ nas prontas, × na aberta e "+ Fazer o Nº quadro" com o preço */
.fm-sig__strip{position:absolute;left:10px;right:10px;bottom:8px;z-index:5;display:flex;align-items:flex-end;gap:18px;overflow-x:auto;scrollbar-width:none;padding:10px 6px 2px;touch-action:pan-x}
.fm-sig__strip::-webkit-scrollbar{display:none}
.fm-sig__mini-w{position:relative;flex:none}
.fm-sig .fm-sig__mini{position:relative;display:block;width:38px;height:47px;padding:0;border:2px solid #fff;border-radius:5px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.fm-sig__mini canvas{display:block;width:100%;height:100%;border-radius:3px;object-fit:cover;max-width:none}
.fm-sig .fm-sig__mini.is-on{border-color:var(--pink);box-shadow:0 0 0 2px var(--soft),0 2px 8px rgba(0,0,0,.18)}
.fm-sig__mini span{position:absolute;left:-7px;top:-8px;min-width:17px;height:17px;padding:0 3px;border-radius:999px;background:var(--ink);color:#fff;font-size:10px;font-weight:700;line-height:17px;text-align:center}
.fm-sig__mini i{position:absolute;right:-7px;top:-8px;width:17px;height:17px;border-radius:50%;background:var(--pink);color:#fff;font-size:10px;font-style:normal;font-weight:700;line-height:17px;text-align:center}
.fm-sig .fm-sig__mini-x{position:absolute;right:-9px;top:-9px;width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;font-size:15px;font-weight:700;line-height:20px;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.fm-sig .fm-sig__mini-x::after{content:"";position:absolute;inset:-8px}
.fm-sig .fm-sig__add{flex:none;margin-left:auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;height:46px;padding:0 13px;border:1.5px dashed #c9c2b8;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08);color:var(--ink);font-size:13.5px;line-height:1.2;text-align:left;white-space:nowrap}
.fm-sig__add b{font-weight:700}
.fm-sig__add small{font-size:11.5px;font-weight:600;color:var(--muted)}

/* Na mesa: os quadros lado a lado, na mesma escala, com a planta para dar a escala */
.fm-sig__scene{position:absolute;inset:0;pointer-events:none}
.fm-sig__desk{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(#caa47c,#b48a62 30%,#a17852);box-shadow:0 -1px 0 #d9bc98 inset}
.fm-sig__desk::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(#e2c6a3,#c79f75)}
.fm-sig__plant{position:absolute;filter:drop-shadow(4px 8px 8px rgba(60,40,20,.18))}
.fm-sig__piece{position:absolute;max-width:none;pointer-events:auto;cursor:pointer;background:#fff;box-shadow:var(--d,4px) var(--d,4px) 0 #cfcac4,10px 14px 14px rgba(60,40,20,.22)}
.fm-sig__piece.is-black{box-shadow:var(--d,4px) var(--d,4px) 0 #2b2826,10px 14px 14px rgba(60,40,20,.22)}

/* Painel (nunca rola) */
.fm-sig__panel{flex:none;display:flex;flex-direction:column;gap:10px;min-height:0;padding:12px 16px 14px;border-top:1px solid var(--line);background:#fff}
.fm-sig__title{font-size:15px;font-weight:600}
.fm-sig__label{font-size:13.5px;color:var(--muted)}
.fm-sig__note{font-size:12.5px;line-height:1.35;color:var(--muted)}
.fm-sig .fm-sig__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 16px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:14.5px;font-weight:600}
.fm-sig .fm-sig__btn--outline{width:100%;border-color:var(--pink);color:var(--pink-d)}
.fm-sig .fm-sig__btn--small{align-self:flex-start;height:40px;padding:0 14px;font-size:13.5px}
.fm-sig .fm-sig__btn--pink{background:var(--pink);border-color:var(--pink);color:#fff}
.fm-sig .fm-sig__btn--pink:hover:not(:disabled){background:#bf2246}
.fm-sig .fm-sig__btn svg{width:18px;height:18px}
.fm-sig .fm-sig__link{align-self:flex-start;padding:6px 2px;color:var(--pink-d);font-size:13px;font-weight:600;text-decoration:underline}
.fm-sig .fm-sig__pick{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:52px;border:1.5px dashed #c9c2b8;border-radius:16px;background:#fbfaf8;font-size:14.5px;font-weight:600}
.fm-sig .fm-sig__pick svg{width:22px;height:22px;color:var(--pink)}
.fm-sig__photo{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--line);border-radius:16px}
.fm-sig__photo img{flex:none;width:46px;height:38px;max-width:none;object-fit:cover;border-radius:6px}
.fm-sig__photo img.is-bw{filter:grayscale(1)}
.fm-sig__photo>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fm-sig__photo b{font-size:14px;font-weight:600}
.fm-sig__photo small{font-size:12.5px;line-height:1.3;color:var(--muted)}
.fm-sig__zoom{flex:none;display:flex;gap:4px}
.fm-sig .fm-sig__zoom button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;font-size:18px;line-height:1}
.fm-sig__pinch{flex:none;width:40px;height:40px;border-radius:50%;background:var(--ground);display:grid;place-items:center;color:var(--muted)}
.fm-sig__check{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:13.5px;font-weight:500;cursor:pointer}
.fm-sig__check input{appearance:none;-webkit-appearance:none;flex:none;width:38px;height:22px;margin:0;padding:0;border:0;border-radius:99px;background:radial-gradient(circle at 11px 50%,#fff 7.5px,transparent 8.5px),var(--line);cursor:pointer;transition:background .2s}
.fm-sig__check input:checked{background:radial-gradient(circle at 27px 50%,#fff 7.5px,transparent 8.5px),var(--pink)}

/* Palavras em pílulas, na letra do quadro: "Escrever meu texto" é a primeira */
.fm-sig__pills{display:flex;gap:8px;margin:0 -16px;padding:2px 16px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}
.fm-sig__pills::-webkit-scrollbar{display:none}
.fm-sig .fm-sig__pills button{flex:none;height:44px;padding:0 16px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:400 19px/1 var(--serif);white-space:nowrap}
.fm-sig .fm-sig__pills button[aria-pressed=true]{border-color:var(--pink);background:var(--soft)}
.fm-sig .fm-sig__pills .fm-sig__own{display:flex;align-items:center;gap:6px;border-style:dashed;font:600 14px/1 var(--sans)}
.fm-sig .fm-sig__own svg{width:16px;height:16px}
.fm-sig__versions{display:flex;gap:8px}
.fm-sig .fm-sig__versions button{height:40px;padding:0 14px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:13.5px;font-weight:600}
.fm-sig .fm-sig__versions button[aria-pressed=true]{border-color:var(--pink);background:var(--soft);color:var(--ink)}

/* Tamanho (P6) e lateral */
.fm-sig__sizes{display:grid;gap:8px}
.fm-sig .fm-sig__sizes button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px 7px;border:1.5px solid var(--line);border-radius:14px;background:#fff}
.fm-sig .fm-sig__sizes button[aria-pressed=true]{border-color:var(--pink);background:var(--soft)}
.fm-sig__box{display:flex;align-items:flex-end;height:30px}
.fm-sig__box i{display:block;border:1.5px solid var(--ink);border-radius:2px;background:#fff;box-shadow:1.5px 1.5px 0 #cfcac4}
.fm-sig__sizes b{font-size:13.5px;font-weight:700;white-space:nowrap}
.fm-sig__sizes button>span:not(.fm-sig__box){font-size:12.5px;color:var(--muted)}
.fm-sig__sizes small{font-size:11px;color:var(--muted)}
.fm-sig .fm-sig__sizes .fm-restock-tag{display:block;font-size:10.5px;font-weight:600;line-height:1.2;color:var(--pink-d)}
.fm-sig__fixed{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13.5px}
.fm-sig__fixed span{color:var(--muted)}
.fm-sig__fixed b{font-weight:600}
.fm-sig__sides{display:flex;align-items:center;gap:8px}
.fm-sig__sides>span{flex:none;width:58px;font-size:13.5px;color:var(--muted)}
.fm-sig .fm-sig__sides button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;height:40px;border:1.5px solid var(--line);border-radius:12px;background:#fff;font-size:13.5px;font-weight:600}
.fm-sig .fm-sig__sides button[aria-pressed=true]{border-color:var(--pink);background:var(--soft)}
.fm-sig__sides i{width:14px;height:14px;border:1.5px solid #bdb6ad;border-radius:50%;background:#fff}
.fm-sig__sides .is-black i{border-color:#2b2826;background:#2b2826}

/* Conferência (P11): texto à vista, quadro, foto, quadros e presente */
.fm-sig .fm-sig__back{margin:-2px 0 -4px;padding:2px}
.fm-sig__table{border:1px solid var(--line);border-radius:16px;overflow:hidden}
.fm-sig__row{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 12px;border-top:1px solid var(--line);font-size:13.5px}
.fm-sig__row:first-child{border-top:0}
.fm-sig__row>span:first-child{flex:none;width:86px;color:var(--muted)}
.fm-sig__row>b{flex:1;min-width:0;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.fm-sig .fm-sig__row>button{flex:none;padding:9px 0;color:var(--pink-d);font-weight:700}
.fm-sig .fm-sig__row>button+button{margin-left:4px}
.fm-sig__row.is-missing{background:#fbf1e1}
.fm-sig__row.is-missing>span:first-child{width:auto}
.fm-sig__row.is-missing>b{color:#8a5a14;font-weight:600}
.fm-sig .fm-sig__row>.fm-sig__read{flex:1;min-width:0;padding:8px 0;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-size:13px;font-weight:400}
.fm-sig__read b{font:400 16px/1 var(--serif)}
.fm-sig__qty>span:first-child,.fm-sig__gift>span:first-child{width:auto!important}
.fm-sig__stepper{flex:none;margin-left:auto;display:flex;align-items:center;gap:8px}
.fm-sig .fm-sig__stepper button{width:34px;height:34px;border:1.5px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:18px;font-weight:600;line-height:1}
.fm-sig__stepper b{min-width:16px;text-align:center;font-size:15px}
.fm-sig__minis{flex:none;margin-left:auto;display:flex;gap:6px}
.fm-sig .fm-sig__minis button{height:34px;padding:0 9px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:12px;font-weight:600;white-space:nowrap}
.fm-sig .fm-sig__minis button[aria-pressed=true]{border-color:var(--pink);background:var(--soft);color:var(--pink-d)}
.fm-sig__prazo{font-size:12px;line-height:1.35;color:var(--muted)}
.fm-sig__prazo.fm-restock-prazo{color:var(--pink-d)}

/* Ferramentas: Foto · Palavra · Texto · Tamanho, com ✓ nas prontas e "falta" na foto */
.fm-sig__tools{flex:none;display:flex;border-top:1px solid var(--line);background:#fff}
.fm-sig .fm-sig__tools button{position:relative;flex:1;height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:11.5px;font-weight:600}
.fm-sig .fm-sig__tools button svg{width:22px;height:22px}
.fm-sig .fm-sig__tools button[aria-pressed=true]{color:var(--pink)}
.fm-sig .fm-sig__tools button[aria-pressed=true]::after{content:"";position:absolute;top:0;left:22%;right:22%;height:2.5px;border-radius:0 0 3px 3px;background:var(--pink)}
.fm-sig__done{position:absolute;top:5px;left:calc(50% + 7px);width:17px;height:17px;border-radius:50%;background:var(--pink);color:#fff;font-size:10.5px;font-weight:700;line-height:17px;text-align:center}
.fm-sig__missing{position:absolute;top:4px;left:calc(50% + 4px);padding:1px 6px;border-radius:999px;background:#b8680c;color:#fff;font-size:10px;font-weight:700;line-height:14px;letter-spacing:.02em}

/* Rodapé: total, 6x e o botão principal (P1) */
.fm-sig__footer{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:#fff}
.fm-sig__footer>div{min-width:0}
.fm-sig__footer strong{display:block;font-size:20px;font-weight:700;line-height:1.2;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.fm-sig__footer small{display:block;font-size:12px;line-height:1.35;color:var(--muted)}
.fm-sig__footer--pix [data-installments]>span{display:block;white-space:nowrap}
.fm-sig__footer--pix [data-installments] b{font-weight:600;color:var(--ink)}
.fm-sig .fm-sig__primary{flex:none;height:48px;min-width:170px;padding:0 22px;border-radius:999px;background:var(--pink);color:#fff;font-size:16px;font-weight:700;white-space:nowrap}
.fm-sig .fm-sig__primary:hover:not(:disabled){background:#bf2246}
.fm-sig .fm-sig__primary:focus-visible{outline-color:var(--ink)}

/* Folha de escrever (e da mensagem do cartão): a prévia continua à vista em cima, com a lupa no texto */
.fm-sig__sheet{position:absolute;left:0;right:0;bottom:var(--fm-kb,0px);z-index:30;display:flex;flex-direction:column;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -12px 32px rgba(0,0,0,.14);transform:translateY(105%);transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.fm-sig__sheet.is-open{transform:none}
.fm-sig__grip{flex:none;width:38px;height:4px;margin:8px auto 2px;border-radius:2px;background:#d9d3cb}
.fm-sig__sheet-head{flex:none;display:flex;align-items:center;gap:8px;padding:4px 12px 6px 16px}
.fm-sig__sheet-head b{margin-right:auto;font-size:16px;font-weight:700}
.fm-sig .fm-sig__sheet-head .fm-sig__link{align-self:center;padding:8px 4px}
.fm-sig .fm-sig__x{flex:none;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}
.fm-sig .fm-sig__x svg{width:18px;height:18px}
.fm-sig .fm-sig__ok{display:none;height:36px;padding:0 16px;border-radius:999px;background:var(--pink);color:#fff;font-size:14px;font-weight:700}
.fm-sig__sheet-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;padding:4px 16px 10px;overflow:hidden}
.fm-sig__field{flex:none;display:flex;align-items:center;gap:10px;height:48px;margin:0;padding:0 12px;border:1.5px solid var(--line);border-radius:14px;background:#fff}
.fm-sig__field>span{flex:none;font-size:13px;color:var(--muted)}
/* Mais específico que o ".fcf-product-purchase :is(input[type=text],…,textarea)" do tema (que vem depois) */
.fm-sig.fm-sig .fm-sig__field input{flex:1;min-width:0;width:auto;height:100%;min-height:0;max-width:none;margin:0;padding:0;border:0;outline:0;border-radius:0;background:none;box-shadow:none;color:var(--ink);font:400 21px/1 var(--serif)}
.fm-sig__area{flex:1;min-height:76px;display:flex;flex-direction:column;padding:8px 12px 6px;border:1.5px solid var(--line);border-radius:14px;background:#fff}
.fm-sig.fm-sig .fm-sig__area textarea{flex:1;min-height:0;width:100%;max-width:none;margin:0;padding:0;border:0;outline:0;border-radius:0;background:none;box-shadow:none;resize:none;color:#2a2724;font:400 17px/1.45 var(--serif)}
.fm-sig__field:focus-within,.fm-sig__area:focus-within{border-color:var(--pink);box-shadow:0 0 0 3px rgba(214,40,79,.15)}
.fm-sig .fm-sig__field input:focus-visible,.fm-sig .fm-sig__area textarea:focus-visible{outline:0}
.fm-sig__field input::placeholder,.fm-sig__area textarea::placeholder{color:#a39d94}
.fm-sig__count{flex:none;display:flex;justify-content:space-between;gap:8px;padding-top:4px;font-size:11.5px;color:var(--muted)}
.fm-sig__meter{display:flex;align-items:center;gap:6px}
.fm-sig__meter i{position:relative;width:34px;height:5px;overflow:hidden;border-radius:3px;background:#e7e1d9}
.fm-sig__meter i::after{content:"";position:absolute;top:0;bottom:0;left:0;width:var(--v,0%);border-radius:3px;background:var(--c,#4db38a)}
.fm-sig__nicks,.fm-sig__ideas{flex:none;display:flex;align-items:center;gap:6px;margin:0 -16px;padding:2px 16px;overflow-x:auto;scrollbar-width:none}
.fm-sig__nicks::-webkit-scrollbar,.fm-sig__ideas::-webkit-scrollbar{display:none}
.fm-sig__nicks>span,.fm-sig__ideas>span{flex:none;font-size:13px;color:var(--muted)}
.fm-sig .fm-sig__nicks button,.fm-sig .fm-sig__ideas button{flex:none;height:38px;padding:0 12px;border:1.5px solid var(--line);border-radius:999px;background:#fff;font:400 17px/1 var(--serif);white-space:nowrap}
.fm-sig .fm-sig__nicks button[aria-pressed=true]{border-color:var(--pink);background:var(--soft)}
.fm-sig__sheet-foot{flex:none;display:flex;gap:10px;padding:10px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line)}
.fm-sig .fm-sig__sheet-foot .fm-sig__btn{flex:1}
/* Folha aberta no celular: o painel, as ferramentas e o rodapé ficam atrás dela; saem do fluxo para nada rolar (nem com o foco) */
@media (max-width:899px){.fm-sig.has-sheet .fm-sig__panel,.fm-sig.has-sheet .fm-sig__tools,.fm-sig.has-sheet .fm-sig__footer{display:none}.fm-sig.has-sheet .fm-sig__stage{min-height:60px}}
/* Teclado aberto (P26): a folha fica compacta em cima do teclado e o quadro com o resto; "Pronto" sobe para o topo da folha */
.fm-sig.is-typing .fm-sig__grip,.fm-sig.is-typing .fm-sig__nicks,.fm-sig.is-typing .fm-sig__ideas,.fm-sig.is-typing .fm-sig__sheet-foot,.fm-sig.is-typing .fm-sig__sheet-head .fm-sig__link{display:none}
.fm-sig.is-typing .fm-sig .fm-sig__ok,.fm-sig.is-typing .fm-sig__ok{display:inline-flex;align-items:center}
.fm-sig.is-typing .fm-sig__sheet{border-radius:14px 14px 0 0;transition:none}
.fm-sig.is-typing .fm-sig__sheet-head{padding-top:8px}
.fm-sig.is-typing .fm-sig__area{min-height:60px}
/* Com o teclado aberto, só o campo em uso fica na folha (no celular baixo sobra pouco acima do teclado) */
.fm-sig.is-typing[data-focus=definition] .fm-sig__field,.fm-sig.is-typing[data-focus=word] .fm-sig__area{display:none}

/* Avisos rápidos no topo, nunca sobre o painel (regra 12); com "Desfazer", o botão fica dentro do aviso */
/* O toque atravessa o aviso (as chaves de cima continuam tocáveis); só o "Desfazer" recebe o toque. */
.fm-sig__notice{position:absolute;top:8px;left:12px;right:12px;z-index:60;padding:10px 14px;border-radius:14px;background:var(--ink);color:#fff;font-size:13.5px;line-height:1.35;box-shadow:0 10px 26px rgba(0,0,0,.2);transform:translateY(-160%);transition:transform .3s;pointer-events:none}
.fm-sig__notice.is-on{transform:none}
.fm-sig__notice:empty{visibility:hidden}
.fm-sig .fm-sig__notice-action{margin-left:6px;padding:4px 2px;color:#fff;font-size:13.5px;font-weight:700;text-decoration:underline;pointer-events:auto}
/* No celular, dentro do diálogo do tema, o aviso fica sobre a barra do tema (nome do produto e X), como no Amor ao Quadrado. */
@media (max-width:899px){dialog .fm-sig__notice{position:fixed;top:calc(6px + env(safe-area-inset-top,0px));left:10px;right:10px;transform:translateY(-200%)}dialog .fm-sig__notice.is-on{transform:none}}
/* Computador: centrado no alto, entre as chaves da prévia. */
@media (min-width:900px){:where(dialog,.fm-sig-portal) .fm-sig__notice{left:calc((100% - 420px) / 2);right:auto;width:max-content;max-width:min(520px,calc(100% - 420px - 420px));transform:translate(-50%,-160%)}:where(dialog,.fm-sig-portal) .fm-sig__notice.is-on{transform:translateX(-50%)}.fm-sig-portal .fm-sig__notice{top:64px}}

/* Celular baixo (P30, até 759 px de altura): sem a linha da medida (no JS) e com o painel, as ferramentas e o rodapé mais justos */
@media (max-width:899px) and (max-height:759px){
  .fm-sig__panel{gap:8px;padding:10px 16px}
  .fm-sig .fm-sig__tools button{height:50px}
  .fm-sig__footer{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
  .fm-sig .fm-sig__btn{height:40px}
  .fm-sig__row{min-height:38px}
  .fm-sig .fm-sig__pills button{height:42px}
  .fm-sig .fm-sig__pick{height:48px}
}
@media (max-width:899px) and (max-height:659px){
  .fm-sig__panel{gap:7px;padding:8px 14px 9px}
  .fm-sig__row{min-height:36px}
  .fm-sig .fm-sig__tools button{height:48px}
  .fm-sig .fm-sig__sizes button{padding:6px 3px 5px}
  .fm-sig__box{height:24px}
}
/* Celular estreito: os botões do presente e o rodapé cabem sem quebrar */
@media (max-width:389px){
  .fm-sig__row>span:first-child{width:74px}
  .fm-sig .fm-sig__minis button{padding:0 7px;font-size:11.5px}
  .fm-sig__minis{gap:4px}
  .fm-sig .fm-sig__primary{min-width:0;padding:0 18px}
  .fm-sig .fm-sig__seg button{padding:7px 9px}
}

/* Computador: prévia à esquerda; ferramentas, painel e total à direita; a folha ocupa a coluna da direita */
@media (min-width:900px){
  :where(dialog,.fm-sig-portal) .fm-sig{display:grid;grid-template-columns:minmax(0,1fr) 420px;grid-template-rows:auto auto minmax(0,1fr) auto}
  :where(dialog,.fm-sig-portal) .fm-sig__header{grid-column:1 / -1;grid-row:1}
  :where(dialog,.fm-sig-portal) .fm-sig__stage{grid-column:1;grid-row:2 / -1;min-height:0}
  :where(dialog,.fm-sig-portal) .fm-sig__tools{grid-column:2;grid-row:2;border-top:0;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}
  :where(dialog,.fm-sig-portal) .fm-sig__panel{grid-column:2;grid-row:3;padding:18px 20px;border-top:0;border-left:1px solid var(--line);overflow:hidden}
  :where(dialog,.fm-sig-portal) .fm-sig.is-review .fm-sig__panel{grid-row:2 / 4}
  :where(dialog,.fm-sig-portal) .fm-sig__footer{grid-column:2;grid-row:4;border-left:1px solid var(--line)}
  :where(dialog,.fm-sig-portal) .fm-sig__sheet{left:auto;right:0;top:0;bottom:0;width:420px;border-radius:0;box-shadow:-10px 0 28px rgba(0,0,0,.1);transform:translateX(105%)}
  :where(dialog,.fm-sig-portal) .fm-sig__sheet.is-open{transform:none}
  :where(dialog,.fm-sig-portal) .fm-sig__grip{display:none}
  :where(dialog,.fm-sig-portal) .fm-sig__sheet-head{padding-top:16px}
  :where(dialog,.fm-sig-portal) .fm-sig__area{min-height:200px}
  :where(dialog,.fm-sig-portal) .fm-sig__nicks,:where(dialog,.fm-sig-portal) .fm-sig__ideas{flex-wrap:wrap;overflow:visible}
  :where(dialog,.fm-sig-portal) .fm-sig__pills{flex-wrap:wrap;margin:0;padding:0;overflow:visible}
  :where(dialog,.fm-sig-portal) .fm-sig .fm-sig__pills button{height:42px}
  .fm-sig-portal{padding:3vh 3vw}
  .fm-sig-portal .fm-sig{height:100%;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
  .fm-sig .fm-sig__seg button,.fm-sig .fm-sig__chip{font-size:13px}
}
@media (pointer:fine){.fm-sig__strip,.fm-sig__pills{cursor:grab}.fm-sig .is-dragging,.fm-sig .is-dragging *{cursor:grabbing}}
@media (prefers-reduced-motion:reduce){.fm-sig__frame,.fm-sig__sheet,.fm-sig__notice{transition:none}}
