.gfc-sim { --gfc-green: #2e7d32; --gfc-green-d: #1b5e20; max-width: 760px; margin: 0 auto; }
.gfc-sim * { box-sizing: border-box; }
.gfc-step { margin: 0 0 1.5rem; }
.gfc-sim h3 { margin: 0 0 .75rem; }
.gfc-sim h4 { margin: 1rem 0 .5rem; }

.gfc-drop { display: block; padding: 1.75rem 1rem; text-align: center; cursor: pointer;
	border: 2px dashed var(--gfc-green); border-radius: 12px; background: rgba(46,125,50,.06); }
.gfc-drop:hover { background: rgba(46,125,50,.12); }
#gfc-preview { display: block; max-width: 100%; max-height: 320px; margin: .75rem auto 0; border-radius: 10px; }

.gfc-checks { display: flex; flex-wrap: wrap; gap: .5rem; }
.gfc-checks label { cursor: pointer; }
.gfc-checks input { position: absolute; opacity: 0; pointer-events: none; }
.gfc-checks span { display: inline-block; padding: .5rem .9rem; border: 1px solid #c8d6c9; border-radius: 999px; background: #fff; }
.gfc-checks input:checked + span { background: var(--gfc-green); border-color: var(--gfc-green); color: #fff; }
.gfc-checks input:focus-visible + span { outline: 3px solid #81c784; }

.gfc-consent { display: flex; gap: .6rem; align-items: flex-start; font-size: .92rem; margin-bottom: 1rem; }
.gfc-consent input { margin-top: .25rem; }

.gfc-btn { display: inline-block; padding: .9rem 1.4rem; border: 0; border-radius: 10px; cursor: pointer;
	background: var(--gfc-green); color: #fff; font-size: 1rem; font-weight: 600; text-decoration: none; text-align: center; }
.gfc-btn:hover:not(:disabled) { background: var(--gfc-green-d); color: #fff; }
.gfc-btn:disabled { opacity: .5; cursor: not-allowed; }
.gfc-wa { background: #25d366; margin-top: 1rem; }
.gfc-wa:hover { background: #1ebe5a !important; }

.gfc-msg { margin: .75rem 0 0; min-height: 1.4em; }
.gfc-err { color: #b3261e; }

.gfc-compare { position: relative; overflow: hidden; border-radius: 12px; line-height: 0; user-select: none; }
.gfc-compare img { display: block; width: 100%; height: auto; }
.gfc-compare #gfc-after { position: absolute; inset: 0; clip-path: inset(0 0 0 50%); }
.gfc-compare input[type=range] { position: absolute; left: 0; right: 0; bottom: 10px; width: 100%; margin: 0; background: transparent; }
.gfc-tag { position: absolute; top: 10px; padding: .2rem .6rem; border-radius: 6px; background: rgba(0,0,0,.6); color: #fff; font-size: .8rem; line-height: 1.4; }
.gfc-tag-l { left: 10px; }
.gfc-tag-r { right: 10px; }
.gfc-note { font-size: .85rem; opacity: .75; margin: .6rem 0 0; }
