/* Circuit Typeform Inquiry — scoped styles */
.cs-typeform, .cs-typeform * { box-sizing: border-box; }

.cs-typeform{
	position: relative;
	--cs-accent: #111;
	--cs-accent-soft: rgba(0,0,0,.06);
	--cs-text: #111;
	--cs-muted: rgba(17,17,17,.55);
	--cs-placeholder: rgba(0,0,0,.30);
	--cs-line: rgba(0,0,0,.70);
	--cs-bg: rgba(255,255,255,.72);
	font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
	color: var(--cs-text);
	background: var(--cs-bg);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(0,0,0,.08);
	box-shadow: 0 18px 48px rgba(0,0,0,.10);
	min-height: 520px;
	display: flex;
	justify-content: center;
	padding: 48px 5px 56px;
}

.cs-form{
	width: min(860px, 100%);
	position: relative;
	padding: 0;
	box-sizing: border-box;
}


.cs-progress{
	display: flex;
	align-items: center;
	gap: 14px;
	justify-content: flex-end;
	pointer-events: none;
	margin-left: auto;
}
.cs-progress__bar{
	width: 160px;
	height: 6px;
	background: rgba(0,0,0,.06);
	border-radius: 999px;
	overflow: hidden;
}
.cs-progress__fill{
	display: block;
	height: 100%;
	width: 0%;
	background: var(--cs-accent);
	border-radius: 999px;
}
.cs-progress__text{
	font-size: 13px;
	color: rgba(0,0,0,.55);
}

/* Ensure steps show/hide reliably even if the theme styles div/section */
.cs-typeform .cs-step{ display:none !important; padding-top: 0 !important; }
.cs-typeform .cs-step.is-active{ display:block !important; }

/* Override theme form field styles (Semplice can add borders/backgrounds) */
.cs-typeform input.cs-input,
.cs-typeform textarea.cs-input{
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	border-radius: 0 !important;
	outline: 0 !important;
	-webkit-appearance: none;
	appearance: none;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.cs-title{
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 18px;
}
.cs-badge{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border-radius: 4px;
	background: var(--cs-accent);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}
.cs-title h2{
	font-size: 30px;
	line-height: 1.2;
	font-weight: 700;
	margin: 0;
	letter-spacing: -0.01em;
}
.cs-req{ font-weight: 700; }

.cs-help{
	margin: 8px 0 22px 28px;
	color: var(--cs-muted);
	font-size: 15px;
	max-width: 640px;
}

.cs-field{
	margin-left: 28px;
	display: block;
	max-width: 820px;
}
.cs-field--textarea{ max-width: 680px; }

.cs-input{
	width: 100%;
	border: 0;
	outline: 0;
	background: transparent;
	font-size: 34px;
	line-height: 1.15;
	padding: 12px 0 10px;
	color: var(--cs-text);
}
.cs-textarea{
	resize: none;
	min-height: 110px;
	padding-top: 8px;
}
.cs-input::placeholder{ color: var(--cs-placeholder); }

.cs-underline{
	display: block;
	width: 100%;
	height: 2px;
	background: var(--cs-line);
	transform-origin: left;
	transition: transform .18s ease, opacity .18s ease;
	opacity: .9;
}
.cs-input:focus + .cs-underline{ transform: scaleX(1.02); opacity: 1; }

.cs-hint{
	margin: 8px 0 0 0;
	font-size: 12px;
	color: rgba(0,0,0,.55);
	font-weight: 700;
}

.cs-actions{
	margin: 22px 0 0 28px;
	display: flex;
	gap: 10px;
	align-items: center;
	max-width: 820px;
}

.cs-btn{
	border: 0;
	background: #000;
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	padding: 10px 16px;
	border-radius: 8px;
	cursor: pointer;
	box-shadow: 0 10px 22px rgba(0,0,0,.18);
	transition: transform .06s ease, box-shadow .2s ease, opacity .2s ease;
}
.cs-btn:hover{ transform: translateY(-1px); box-shadow: 0 14px 26px rgba(0,0,0,.20); }
.cs-btn:active{ transform: translateY(0px) scale(.98); }
.cs-btn:disabled{ opacity: .65; cursor: not-allowed; box-shadow: none; }

.cs-btn.cs-back{
	background: rgba(0,0,0,.65);
}

.cs-error{
	margin: 12px 0 0 28px;
	color: #b00020;
	font-size: 14px;
	min-height: 18px;
}

.cs-choices{
	margin: 18px 0 0 28px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	max-width: 680px;
}
.cs-choices--single{
	flex-direction: column;
	align-items: flex-start;
}
.cs-choice{
	border: 0;
	background: var(--cs-accent-soft);
	color: var(--cs-accent);
	font-weight: 700;
	font-size: 15px;
	padding: 12px 16px;
	border-radius: 10px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	transition: transform .06s ease, background .18s ease, color .18s ease;
}
.cs-choice:hover{ transform: translateY(-1px); }
.cs-choice.is-selected{
	background: var(--cs-accent);
	color: #fff;
}
.cs-choice__key{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 6px;
	border: 1px solid rgba(0,0,0,.12);
	color: inherit;
	background: rgba(255,255,255,.65);
	font-size: 12px;
	font-weight: 800;
}
.cs-choice.is-selected .cs-choice__key{
	background: rgba(255,255,255,.2);
	border-color: rgba(255,255,255,.35);
}

.cs-muted{ color: rgba(0,0,0,.45); font-weight: 600; }

.cs-hp{ position: absolute; left: -9999px; opacity: 0; }

.cs-done{
	margin: 86px 0 0 28px;
	text-align: left;
	max-width: 680px;
}
.cs-check{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border: 3px solid rgba(0,0,0,.82);
	border-radius: 50%;
	font-size: 28px;
	font-weight: 800;
	margin-bottom: 18px;
}
.cs-done h2{
	font-size: 34px;
	margin: 0 0 8px;
}
.cs-done p{
	margin: 0;
	color: rgba(0,0,0,.62);
	font-size: 16px;
}

@media (max-width: 640px){
	.cs-progress{ bottom: 12px; width: calc(100% - 32px); }

	.cs-title h2{ font-size: 24px; }
	.cs-input{ font-size: 26px; }
	.cs-help{ margin-left: 0; }
	.cs-field, .cs-actions, .cs-error, .cs-choices, .cs-hint, .cs-done{ margin-left: 0; }
}


.cs-phone-row{
	margin-left: 28px;
	display: flex;
	gap: 18px;
	align-items: flex-end;
	flex-wrap: wrap;
	max-width: 820px;
}
.cs-field--phone{
	margin-left: 0;
	max-width: none;
	flex: 1 1 560px;
}
.cs-select{
	width: 190px;
	border: 0 !important;
	background: transparent !important;
	font-size: 18px;
	padding: 12px 0 10px;
	color: var(--cs-text);
	outline: 0 !important;
	appearance: none;
	-webkit-appearance: none;
}
.cs-underline--select{
	width: 190px;
}

/* Date step */
.cs-date{
	margin: 18px 0 0 28px;
	max-width: 560px;
}
.cs-date__labels{
	display: flex;
	gap: 36px;
	font-size: 13px;
	color: rgba(244,162,97,.95);
	font-weight: 700;
	margin-bottom: 6px;
}
.cs-date__labels span:nth-child(1){ width: 70px; }
.cs-date__labels span:nth-child(2){ width: 70px; }
.cs-date__labels span:nth-child(3){ width: 120px; }

.cs-date__inputs{
	display: flex;
	align-items: flex-end;
	gap: 10px;
}
.cs-date__field{
	display: block;
}
.cs-date__input{
	width: 70px;
	font-size: 34px;
	line-height: 1.15;
	padding: 12px 0 10px;
	text-align: left;
}
.cs-date__year{
	width: 120px;
}
.cs-date__sep{
	font-size: 30px;
	color: rgba(244,162,97,.85);
	padding-bottom: 10px;
}

.cs-field--prefix{ flex: 0 0 190px; }


/* Accordion wrapper */
.cs-accordion{ width:100%; }
.cs-acc-btn{
	text-transform: uppercase;
	border:1px solid rgba(0,0,0,.18);
	background:#000;
	color:#fff;
	font-weight:700;
	font-size:18px;
	padding:22px 34px;
	border-radius:0;
	cursor:pointer;
	letter-spacing:.2px;
	box-shadow:0 16px 34px rgba(0,0,0,.18);
	transition:transform .06s ease, box-shadow .2s ease, opacity .2s ease;
}
.cs-acc-btn:hover{ transform:translateY(-1px); box-shadow:0 22px 46px rgba(0,0,0,.20); }
.cs-acc-btn:active{ transform:translateY(0px) scale(.99); }
.cs-acc-panel{ overflow:hidden; transition:max-height .35s ease; will-change:max-height; }
.cs-acc-inner{ padding-top:18px; }


/* Align all content to the frame padding */
.cs-help, .cs-field, .cs-actions, .cs-error, .cs-choices, .cs-hint, .cs-done, .cs-phone-row, .cs-date{ margin-left: 0 !important; }

/* Choice buttons (strong selected state for mobile) */
.cs-choice{ border: 1px solid rgba(0,0,0,.12) !important; background: rgba(0,0,0,.04) !important; color:#111 !important; }
.cs-choice.is-selected{ background: rgba(0,0,0,.16) !important; color:#111 !important; border-color: rgba(0,0,0,.65) !important; box-shadow: inset 0 0 0 2px rgba(0,0,0,.65) !important; }
.cs-choice.is-selected .cs-choice__key{ background: rgba(0,0,0,.10) !important; border-color: rgba(0,0,0,.35) !important; }
.cs-choice:active{ transform: scale(.99); }

.cs-badge{ background: rgba(0,0,0,.10) !important; color:#000 !important; }
.cs-underline, .cs-progress__fill{ background: #111 !important; }
.cs-input::placeholder{ color: rgba(0,0,0,.30) !important; }
.cs-date__labels{ color: rgba(0,0,0,.55) !important; }
.cs-date__sep{ color: rgba(0,0,0,.55) !important; }

/* Responsive tweaks */
@media (max-width: 1024px){
  .cs-typeform{ min-height: 460px; padding: 36px 5px 44px; }
  .cs-title h2{ font-size: 26px; }
  .cs-input{ font-size: 28px; }
  .cs-select{ font-size: 16px; }
  .cs-progress__bar{ width: 140px; }
  .cs-acc-btn{ font-size: 16px; padding: 18px 28px; }
}

@media (max-width: 768px){
  .cs-typeform{ min-height: 0; padding: 24px 5px 28px; }
  .cs-title{ margin-top: 12px; }
  .cs-title h2{ font-size: 24px; }
  .cs-help{ font-size: 14px; margin-bottom: 16px; }
  .cs-input{ font-size: 22px; padding: 10px 0 8px; }
  .cs-progress{ gap: 10px; }
  .cs-progress__bar{ width: 120px; height: 5px; }
  .cs-choice{ font-size: 14px; padding: 10px 12px; }
  .cs-choice__key{ width: 20px; height: 20px; font-size: 12px; }
  .cs-btn{ font-size: 13px; padding: 10px 14px; border-radius: 6px; }
  .cs-acc-btn{ font-size: 15px; padding: 16px 22px; }
  .cs-date__field{ width: 96px; }
}

@media (max-width: 520px){
  .cs-typeform{ padding: 18px 5px 20px; }
  .cs-title h2{ font-size: 21px; }
  .cs-help{ font-size: 13px; margin: 6px 0 14px 0; }
  .cs-input{ font-size: 18px; }
  .cs-textarea{ min-height: 90px; }
  .cs-progress__bar{ width: 96px; }
  .cs-phone-row{ flex-direction: column; align-items: stretch; gap: 10px; }
  .cs-select{ width: 100% !important; font-size: 16px; }
  .cs-field--prefix{ flex: 1 1 auto; }
  .cs-field--phone{ flex: 1 1 auto; }
  .cs-actions{ gap: 10px; flex-wrap: wrap; }
  .cs-btn{ width: auto; }
  .cs-acc-btn{ width: 100%; }
  .cs-date{ gap: 10px; }
  .cs-date__field{ width: 84px; }
  .cs-date__sep{ font-size: 22px; padding-bottom: 6px; }
}

@media (hover:none){
  /* Make taps feel responsive on mobile */
  .cs-choice:hover{ transform:none; }
  .cs-btn:hover{ transform:none; }
  .cs-acc-btn:hover{ transform:none; }
}

/* Fluid scaling for iPhone & Android (Samsung etc.) */
.cs-typeform{
  /* Respect iOS notch safe areas while keeping the requested ~5px frame padding */
  padding-left: calc(5px + env(safe-area-inset-left, 0px));
  padding-right: calc(5px + env(safe-area-inset-right, 0px));
}

/* Fluid typography so it doesn't feel huge on phones, but stays premium on large screens */
.cs-title h2{
  font-size: clamp(20px, 4.8vw, 34px) !important;
  line-height: 1.15;
}
.cs-help{
  font-size: clamp(12px, 2.8vw, 14px) !important;
}
.cs-input{
  /* Keep >=16px to avoid iOS zoom on focus */
  font-size: clamp(16px, 5.8vw, 34px) !important;
  line-height: 1.2;
}
.cs-select{
  font-size: 16px !important;
}
.cs-choice{
  font-size: clamp(13px, 3.4vw, 15px) !important;
}
.cs-choice__key{
  width: 22px !important;
  height: 22px !important;
  font-size: 12px !important;
}
.cs-btn{
  font-size: 13px !important;
  padding: 10px 14px !important;
}
.cs-acc-btn{
  font-size: clamp(14px, 3.6vw, 18px) !important;
  padding: clamp(14px, 4.5vw, 22px) clamp(18px, 6vw, 34px) !important;
}

/* Layout tightening for typical phones */
@media (max-width: 430px){
  .cs-progress__bar{ width: 90px !important; }
  .cs-progress{ gap: 10px !important; }
  .cs-typeform{ padding-top: 16px !important; padding-bottom: 18px !important; }
  .cs-title{ margin-top: 10px !important; }
}

/* Very small Android devices */
@media (max-width: 360px){
  .cs-progress__bar{ width: 72px !important; }
  .cs-title h2{ letter-spacing: -0.2px; }
  .cs-btn{ padding: 9px 12px !important; }
  .cs-choice{ padding: 9px 10px !important; }
}

/* Short-height landscape (common on phones) */
@media (max-height: 520px){
  .cs-typeform{ padding-top: 14px !important; padding-bottom: 14px !important; }
  .cs-title{ margin-top: 8px !important; }
}

/* Mobile spacing + progress alignment */
@media (max-width: 430px){
  .cs-title{ margin-top: 10px !important; }
  .cs-help{ margin: 6px 0 12px 0 !important; }
  .cs-field{ margin-top: 0 !important; }
  .cs-input{ padding: 8px 0 6px !important; }
  .cs-textarea{ min-height: 84px !important; }
  .cs-actions{ margin-top: 12px !important; flex-wrap: wrap !important; gap: 8px !important; max-width: 100% !important; }
  .cs-progress{ gap: 8px !important; align-items: center !important; }
  .cs-progress__bar{ width: 78px !important; height: 5px !important; }
  .cs-progress__text{ font-size: 12px !important; }
}

/* Tiny phones */
@media (max-width: 360px){
  .cs-actions{ gap: 6px !important; }
  .cs-btn{ padding: 9px 12px !important; }
  .cs-progress__bar{ width: 64px !important; }
}

/* Make sure progress always sits on the same line as buttons unless it truly can't */
.cs-actions .cs-progress{ margin-left: auto !important; flex: 0 0 auto; }

/* Progress alignment fix on phones */
@media (max-width: 430px){
  .cs-actions .cs-progress{
    width: 100% !important;
    margin-left: 0 !important;
    justify-content: flex-end !important;
  }
  .cs-progress__bar{
    max-width: 90px !important;
    width: 24vw !important;
    min-width: 64px !important;
  }
}

/* Phone progress align with buttons */
@media (max-width: 430px){
  /* keep buttons + progress on one row */
  .cs-actions{
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  .cs-actions .cs-progress{
    width: auto !important;
    margin-left: auto !important;
    justify-content: flex-end !important;
    align-self: center !important;
  }
  .cs-progress{ gap: 6px !important; }
  .cs-progress__bar{
    width: 64px !important;
    min-width: 56px !important;
    max-width: 80px !important;
  }
  .cs-progress__text{
    font-size: 11px !important;
    line-height: 1 !important;
  }
}
@media (max-width: 360px){
  .cs-progress__bar{ width: 56px !important; }
  .cs-progress__text{ font-size: 10px !important; }
}

/* Desktop + tablet bottom spacing balance */
@media (min-width: 769px){
  .cs-typeform{
    /* Reduce excess empty space and keep top/bottom visually balanced */
    min-height: clamp(360px, 45vh, 520px) !important;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    align-items: center !important; /* vertical centering inside the panel */
  }
}
@media (min-width: 769px) and (max-width: 1024px){
  .cs-typeform{
    min-height: clamp(320px, 42vh, 460px) !important;
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
}

/* Contact accordions */
.cs-contact-card{
  width: 100%;
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 18px 48px rgba(0,0,0,.10);
  padding: 22px 18px;
  box-sizing: border-box;
}
.cs-contact-card--center{ text-align:center; }

.cs-contact-text{
  font-size: 14px;
  color: rgba(0,0,0,.70);
  line-height: 1.45;
  margin: 0 0 12px 0;
}
.cs-contact-text--small{ font-size: 13px; margin-top: 14px; }

.cs-contact-row{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
}

.cs-contact-email{
  font-weight: 700;
  color: #111;
  text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,.25);
  padding-bottom: 2px;
}
.cs-contact-phone{
  display: inline-block;
  font-weight: 800;
  font-size: 22px;
  color: #111;
  text-decoration: none;
  padding: 8px 0;
}

.cs-contact-link{
  border: 0;
  background: transparent;
  padding: 0;
  color: #111;
  font-weight: 700;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cs-contact-link.is-copied{ opacity: .55; }

.cs-contact-divider{
  height: 1px;
  background: rgba(0,0,0,.08);
  margin: 16px 0;
}

.cs-contact-btn{
  display: inline-block;
  text-transform: uppercase;
  border: 1px solid rgba(0,0,0,.18);
  background: #000;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  padding: 14px 18px;
  border-radius: 0;
  cursor: pointer;
  letter-spacing: .2px;
  text-decoration: none;
  box-shadow: 0 16px 34px rgba(0,0,0,.18);
}
.cs-contact-a{ color:#111; font-weight:700; text-decoration: underline; }

@media (max-width: 430px){
  .cs-contact-card{ padding: 16px 14px; }
  .cs-contact-phone{ font-size: 20px; }
  .cs-contact-btn{ width: 100%; text-align:center; }
}

/* Simplified contact (copy email) */
.cs-contact-simple{
  text-align: left;
}
.cs-contact-head{
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(0,0,0,.55);
  font-weight: 800;
  margin: 0 0 14px 0;
}
.cs-contact-choice{
  width: 100%;
  display: block;
  text-align: left;
  text-transform: uppercase;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.04);
  color: #111;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .02em;
  padding: 14px 14px;
  margin: 0 0 10px 0;
  border-radius: 0;
  cursor: pointer;
}
.cs-contact-choice:active{ transform: scale(.99); }
.cs-contact-choice--link{ text-decoration: none; }
.cs-contact-choice.is-revealed{
  background: rgba(0,0,0,.10);
  border-color: rgba(0,0,0,.55);
}
.cs-contact-choice .cs-email{
  text-transform: none;
  letter-spacing: 0;
}
.cs-copy-status{
  margin-top: 12px;
  font-size: 13px;
  color: rgba(0,0,0,.70);
  min-height: 18px;
}

@media (max-width: 430px){
  .cs-contact-choice{ font-size: 13px; padding: 12px 12px; }
}

/* Contact simple items (match Typeform style) */
.cs-typeform--contact{
  min-height: 0 !important;
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}
.cs-contact-simple{
  text-align: left;
}
.cs-contact-head{
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(0,0,0,.55);
  font-weight: 800;
  margin: 0 0 18px 0;
}
.cs-contact-item{
  display: block;
  width: 100%;
  padding: 8px 0 14px 0;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  user-select: none;
  -webkit-user-select: none;
}
.cs-contact-item--link{ cursor: pointer; }
.cs-contact-label{
  text-transform: uppercase;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .02em;
  color: #111;
  line-height: 1.25;
}
.cs-contact-item:active{ transform: scale(.995); }
.cs-contact-item.is-revealed{
  cursor: default;
  user-select: text;
  -webkit-user-select: text;
}
.cs-contact-reveal{
  margin-top: 10px;
}
.cs-contact-input{
  width: 100%;
  border: 0;
  outline: none;
  background: transparent;
  padding: 8px 0 6px;
  font-size: 22px;
  font-weight: 700;
  color: #111;
  letter-spacing: .01em;
  -webkit-appearance: none;
}
.cs-contact-input:focus{ outline: none; box-shadow: none; }
.cs-contact-status{
  margin-top: 6px;
  font-size: 13px;
  color: rgba(0,0,0,.70);
  min-height: 16px;
}

/* Mobile */
@media (max-width: 430px){
  .cs-typeform--contact{ padding-top: 18px !important; padding-bottom: 18px !important; }
  .cs-contact-input{ font-size: 18px; }
  .cs-contact-label{ font-size: 13px; }
}

/* Email dropdown typography + layout (centered) */
.cs-contact-simple{ text-align: center !important; }
.cs-contact-head{
  text-align: center !important;
  font-size: clamp(16px, 2.2vw, 22px) !important;
  letter-spacing: .18em !important;
  margin: 0 0 22px 0 !important;
}
.cs-contact-item{
  padding: 14px 0 18px 0 !important;
}
.cs-contact-item + .cs-contact-item{
  margin-top: 6px;
}
.cs-contact-label{
  text-align: center !important;
  font-size: 16px !important;
  letter-spacing: .06em !important;
}
.cs-contact-reveal{ text-align: center !important; }
.cs-contact-input{
  text-align: center !important;
  font-size: clamp(18px, 4.2vw, 26px) !important;
}
.cs-contact-status{
  text-align: center !important;
}
@media (max-width: 430px){
  .cs-contact-label{ font-size: 14px !important; }
  .cs-contact-head{ margin-bottom: 18px !important; }
  .cs-contact-item{ padding: 12px 0 16px 0 !important; }
}

/* Email menu: no underlines + larger text */
.cs-typeform--contact .cs-underline{ display:none !important; }

.cs-typeform--contact .cs-contact-head{
  font-size: clamp(18px, 2.8vw, 26px) !important;
}
.cs-typeform--contact .cs-contact-label{
  font-size: clamp(16px, 3.0vw, 22px) !important;
  letter-spacing: .08em !important;
}
@media (max-width: 430px){
  .cs-typeform--contact .cs-contact-head{ font-size: 18px !important; }
  .cs-typeform--contact .cs-contact-label{ font-size: 16px !important; }
}

/* Email panel: menu -> confirm view */
.cs-contact-simple{ text-align: center !important; }
.cs-contact-menu{ width: 100%; }
.cs-contact-head{
  text-align: center !important;
  font-size: clamp(18px, 2.8vw, 26px) !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  color: rgba(0,0,0,.55) !important;
  margin: 0 0 26px 0 !important;
}

.cs-contact-choice{
  display: block;
  width: 100%;
  border: 0 !important;
  background: transparent !important;
  color: #111 !important;
  text-transform: uppercase;
  font-weight: 900;
  font-size: clamp(16px, 3.0vw, 22px);
  letter-spacing: .08em;
  padding: 14px 0;
  cursor: pointer;
  text-decoration: none !important;
  text-align: center;
}
.cs-contact-choice:focus{ outline: none; }
.cs-contact-choice:hover{ opacity: .9; }
.cs-contact-choice:active{ transform: scale(.995); }

/* Confirm view: only email + message */
.cs-contact-confirm{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.cs-contact-input--confirm{
  width: min(760px, 92%);
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  text-align: center !important;
  font-size: clamp(20px, 4vw, 30px) !important;
  font-weight: 900 !important;
  color: #111 !important;
  padding: 10px 0 !important;
  -webkit-appearance: none !important;
}
.cs-contact-input--confirm::selection{ background: rgba(0,0,0,.15); }
.cs-contact-status--confirm{
  font-size: 14px;
  color: rgba(0,0,0,.70);
  letter-spacing: .02em;
}

/* More spacing on mobile */
@media (max-width: 430px){
  .cs-contact-head{ margin-bottom: 18px !important; }
  .cs-contact-choice{ padding: 12px 0; }
  .cs-contact-input--confirm{ font-size: 20px !important; }
}



/* ===============================
   Email dropdown FINAL layout fix
   =============================== */
.cs-accordion--contact .cs-typeform.cs-typeform--contact{
  /* Kill the base .cs-typeform min-height and asymmetric padding */
  min-height: 0 !important;
  height: auto !important;
  padding: 24px 5px !important; /* equal top/bottom */
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;  /* vertical centering */
  align-items: center !important;       /* horizontal centering */
  box-sizing: border-box !important;
}

.cs-accordion--contact .cs-typeform.cs-typeform--contact .cs-form.cs-contact-simple{
  width: min(860px, 100%) !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
}

.cs-accordion--contact .cs-typeform.cs-typeform--contact .cs-contact-menu{
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Remove any extra spacing that can bias top vs bottom */
.cs-accordion--contact .cs-typeform.cs-typeform--contact .cs-contact-head{
  margin: 0 !important;
  line-height: 1.15 !important;
}
.cs-accordion--contact .cs-typeform.cs-typeform--contact .cs-contact-choice{
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.15 !important;
}

/* Mobile */
@media (max-width: 430px){
  .cs-accordion--contact .cs-typeform.cs-typeform--contact{
    padding: 18px 5px !important;
  }
  .cs-accordion--contact .cs-typeform.cs-typeform--contact .cs-contact-menu{
    gap: 14px !important;
  }
}


.cs-typeform--contact [hidden]{ display:none !important; }

/* Email dropdown: switch to confirm-only view after copy */
.cs-typeform--contact.is-confirm .cs-contact-menu{ display:none !important; }
.cs-typeform--contact.is-confirm .cs-contact-confirm{ display:flex !important; flex-direction:column; align-items:center; justify-content:center; gap:10px; }
.cs-typeform--contact .cs-contact-confirm[hidden]{ display:none !important; }

.cs-typeform--contact .cs-contact-input{
  width: min(760px, 100%);
  border: 0 !important;
  outline: none !important;
  background: transparent !important;
  font-weight: 800;
  font-size: clamp(20px, 3.2vw, 34px);
  text-align: center;
  padding: 6px 0;
  user-select: text;
}
.cs-typeform--contact .cs-contact-status{
  font-size: 14px;
  color: rgba(0,0,0,.45);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cs-typeform.cs-typeform--contact .cs-contact-menu[hidden]{ display:none !important; }

/* Call dropdown (v1.3.9): menu + confirm */
.cs-typeform--call{ text-align:center; }
.cs-typeform--call .cs-contact-menu[hidden]{ display:none !important; }
.cs-typeform--call .cs-call-confirm[hidden]{ display:none !important; }
.cs-typeform--call .cs-call-confirm{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.cs-contact-whatsapp{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
/* WhatsApp SVG icon */
.cs-wa-svg{
  display:inline-block;
  vertical-align:middle;
  color: rgba(0,0,0,.75);
}
.cs-contact-whatsapp{
  gap: 10px;
}

.cs-contact-whatsapp{ display:inline-flex; align-items:center; justify-content:center; gap:10px; }

/* WhatsApp icon image */
.cs-wa-img{
  width: 22px;
  height: 22px;
  display: inline-block;
  vertical-align: middle;
}
.cs-contact-whatsapp{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}


/* Tablet sizing (reduce overall scale) */
@media (min-width: 768px) and (max-width: 1024px){
  .cs-typeform{
    min-height: 420px;
    padding: 26px 5px 30px;
  }
  .cs-title{ margin-top: 12px; }
  .cs-title h2{ font-size: 22px; }
  .cs-help{ font-size: 13px; margin: 7px 0 16px 0; max-width: 620px; }
  .cs-input{ font-size: 22px; padding: 10px 0 8px; }
  .cs-textarea{ min-height: 100px; }
  .cs-underline{ height: 2px; }
  .cs-progress__bar{ width: 120px; height: 5px; }
  .cs-progress__text{ font-size: 12px; }
  .cs-choice{ font-size: 13px; padding: 10px 12px; }
  .cs-choice__key{ width: 20px; height: 20px; font-size: 12px; }
  .cs-btn{ font-size: 13px; padding: 9px 14px; }
  .cs-acc-btn{ font-size: 14px; padding: 14px 20px; }
  .cs-select{ font-size: 15px; }
  .cs-date__input{ font-size: 24px; }
  .cs-date__sep{ font-size: 22px; padding-bottom: 8px; }
}

