#form-container {
	min-height: -webkit-fill-available;
	margin: 0 auto;
	max-width: 100%;
}
[type=file] {
    border: none;
    padding: 10px 0;
    border-radius: 0;
}
[data-condition="distribution_frequency.includes('Custom')"] {
    margin: -25px 0 0 0;
    width: 257px;
}
.group-title  {
    font-size: 20px!important;
    margin: 10px 0 -10px!important;
}
.field-group {
    display: flex; 
    flex-wrap: wrap;
    gap: 35px;
}
.field-group.flex-split {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
}
.field-group.flex-split > h3 {
    /*margin: 10px 0 20px!important;*/
    grid-column: span 2;
}
.field-group.flex-split .form-field {
    flex: 0 0 50%;
}
.form-field {
    flex: 0 0 100%;
}
#flyertap-campaign-form, #wizard-root {
  box-sizing: border-box;
  min-height: -webkit-fill-available;
  margin: 0;
}
#flyertap-campaign-form fieldset, #wizard-root fieldset, #wizard-root .ft-wizard {
    padding: 40px 15px;
    max-width: 100%;
    width: 750px;
    margin: 0 auto;
    border-radius: 5px;
    display: flex;
    flex-wrap: wrap;
    gap: 35px;
    border: none;
    min-height: -webkit-fill-available;
}
#wizard-root .ft-wizard {
    min-height: auto;
}
.form-step {
    display: flex;
    flex-direction: column;
    gap: 35px;
}
#flyertap-campaign-form h2, #wizard-root h2  {
        font-size: 36px;
        display: flex;
        position: relative;
    	font-weight: 600;
    	margin: 0 0 15px;
    }
#flyertap-campaign-form h3, #wizard-root h3      {
    	font-size: 16px;
    	font-weight: 600;
    	margin: 0 0 10px;
    	flex: 0 0 100%;
    }
[name="notes"] {
  min-height: 280px;
  resize: vertical;
}
select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}
[data-type] {
	position: relative;
}
[data-group-type="text"], [data-group-type="date"], [data-group-type="textarea"], [data-group-type="select"], [data-group-type="multiselect"], [data-group-type="number"], [data-group-type="file"] {
	label {
		display: flex;
		flex-direction: column;
		gap: 10px;
		font-weight: 600;
		margin: 0;
		font-size: 16px;
	}
	input:not([type="file"]), select, textarea {
		border-radius: 12px;
		padding: 15px;
		border: 1px solid #000;
		font-size: 15px;
	}
}
[data-group-type="checkbox"], [data-group-type="radio"] {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    
	label {
	  display: flex;
	  font-weight: 500;
	  gap: 10px;
	  background: #eee;
	  border: 2px solid #eee;
	  border-radius: 500px;
	  padding: 8px 20px;
	  line-height: 1.2;
	  font-size: 14px;
	  min-width: max-content;
	  cursor: pointer;
	  margin: 0;
	  align-items: center;
	}
	input {
		margin: 0;
	}
}
[data-type="checkbox"].selected, [data-type="radio"].selected  {
	background: #fff;
	border-color: #000;
}
[data-group-type="checkbox"], [data-group-type="radio"] {
	div {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}
	input {
		order: -1;
		flex: 0 0 fit-content;
	}
}
[data-type="select"].dropdown-open .select-chevron {
	transform: scale(-1);
}
.select-chevron {
    position: absolute;
    right: 15px;
    bottom: 14px;
    pointer-events: none;
    width: 17px;
    height: 17px;
	transition: ease-in-out 100ms;
}
.navigation-buttons {
	display: flex;
	align-items: center;
	justify-content: end;
	margin-top: auto;
	padding: 50px 0;
	flex: 0 0 100%;
	button {
		border: 1px solid;
		border-radius: 10px;
		font-weight: 600;
		font-size: 16px;
		padding: 12px 20px;
		transition: ease 200ms;
		line-height: 1.2;
		cursor: pointer;
		width: fit-content;
		display: flex;
		gap: 15px;
		align-items: center;
	}
	.backBtn {
		background: #fff;
		border-color: #999;
		color: #191e31;
		margin-right: auto;
	}
	.backBtn span {
		transform: scale(-1);
		order: -1;
	}
	.backBtn:hover {
		background: #eee;
	}
	.nextBtn, [type="submit"] {
		background: #191e31;
		color: #fff;
		border-color: #191e31;
		margin-left: auto;
	}
	.nextBtn span path {
		fill: #fff;
	}
	.nextBtn:hover, [type="submit"]:hover {
		opacity: .8;
	}
}
#wizard-root {
    max-width: 100%;
    width: 900px;
    margin: 50px auto;
}
.ft-crumbs {
    display: flex;
    gap:10px;
    align-items: center;
}
.step-pill{
    width:26px;
    height:26px;
    border-radius:50%;
    display:flex;
	align-items:center;
	justify-content:center;
	background:#EEF2FF;
	color:#111;
	font-weight:600;
}
.step-pill.active{
	background:#2563eb;
	color:#fff;
}
.chev{
	opacity:.5;
}
.btn{
	border:0;
	border-radius:8px;
	padding:10px 14px;
	font-weight:600;
	background:#111;
	color:#fff;
	cursor:pointer;
}
.btn[disabled]{
	opacity:.4;
	cursor:not-allowed;
}
.btn.secondary{
	background:#f2f2f2;
	color:#111;
}
.field{
	display:flex;
	flex-direction:column;
	gap:6px;
}
.row{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
}
.hint{
	font-size:12px;
	opacity:.7;
}
.err{color:#b91c1c;
	font-size:12px;
	margin-top:6px;
}
.ok{color:#065f46;
	font-size:12px;
	margin-top:6px;
}
/* Calendar */
.cal-wrap {
    display:flex;
	gap:18px;
	flex-wrap:wrap;
}
.cal {
    width: 100%;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 1 / 1;
}
.cal-head {
    display:flex;
	justify-content:space-between;
	align-items:center;
	padding:10px 12px;
	background:#fafafa;
}
.cal-head button{background:none;
	border:0;
	font-size:20px;
	cursor:pointer;
}
.cal-mon {
    font-weight:700;
	letter-spacing:.3px;
}
.cal-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    height: calc(100% - 64px);
    align-items: center;
}
.cal-dow {
    text-align: center;
    font-size: 13px;
    padding: 10px;
    font-weight: 700;
}
.cal-day {
    height: auto;
    width: -webkit-fill-available;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    margin: 9px;
    font-weight: 600;
    cursor: pointer;
    aspect-ratio: 1 / 1;
}
.cal-day.other {
	opacity:.35;
}
.cal-day.disabled {
	opacity:.25;
	cursor:not-allowed;
}
.cal-day.sel-start {
	background:#cffafe;
}
.cal-day.sel-end {
	background:#bbf7d0;
}
.cal-day.in-range {
	background:#e5f2ff;
}
.cal-legend {
	font-size:12px;
	display:flex;
	gap:12px;
	align-items:center;
	margin-top:6px;
}
.dot {
	width:12px;
	height:12px;
	border-radius:50%;
	display:inline-block;
	vertical-align:middle;
	margin-right:6px;
}
.dot.start {
	background:#99f6e4;
}
.dot.end {
	background:#86efac;
}
.dot.range {
	background:#dbeafe;
}

.cal-block { 
    margin-bottom: 14px; }
.cal-title{ font-weight:600; margin-bottom:6px; }
.picked{ margin:6px 0 2px; font-weight:600; }
.err{ color:#b00020; margin-top:4px; display:none; }
.ft-tip{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;border-radius:50%;border:1px solid #9aa0a6;font-size:11px;cursor:help;position:relative;user-select:none}
.ft-tip-icon{line-height:1;display:inline-block}
.ft-tip-bubble{position:absolute;z-index:10;left:50%;transform:translateX(-50%);bottom:125%;white-space:nowrap;background:#111;color:#fff;padding:6px 8px;border-radius:6px;font-size:12px;line-height:1.2;opacity:0;pointer-events:none;transition:opacity .12s ease}
.ft-tip[data-placement="bottom"] .ft-tip-bubble{top:125%;bottom:auto}
.ft-tip:focus .ft-tip-bubble,.ft-tip:hover .ft-tip-bubble{opacity:1}
