/**
 * Celo Estimate Calculator — inline shortcode form [celo_estimate_form]
 * Stacked 5-question layout, then blue estimate + lead capture.
 */

.celo-ec-inline {
	--blue: #0C53BC;
	--inline-ink: #181818;
	--inline-muted: #6b7280;
	--inline-border: #d8dee6;
	--inline-selected: #e8eef6;
	--inline-bg: #e8eef3;
	--inline-accent: #C10CD2;
	--inline-success: #21AB56;
	--inline-error: #E04D26;
	--inline-serif: 'ITC Clearface Pro';
	--inline-sans: 'Calibre', sans-serif;
	box-sizing: border-box;
	font-family: var(--inline-sans);
	color: var(--inline-ink);
	padding-top: 44px;
	text-align: left;
}

.celo-ec-inline *,
.celo-ec-inline *::before,
.celo-ec-inline *::after {
	box-sizing: border-box;
}

.celo-ec-inline-card {
	max-width: 1145px;
	margin: 0 auto;
	background: var(--white);
	border-radius: 30px;
	padding: 50px 42px;
}

.celo-ec-inline-kicker {
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-size: 12px;
	font-weight: 700;
	color: var(--blue);
	margin: 0 0 10px;
}

.celo-ec-inline-title {
	font-family: var(--inline-serif);
	font-size: 38px;
	line-height: 1.2;
	font-weight: 700;
	text-align: center;
	margin: 0 0 14px;
	color: var(--inline-ink);
}

.celo-ec-inline-lede {
	text-align: center;
}
.celo-ec-inline-step:not(:first-child) {
    border-top: 1px solid var(--black);
    padding-top: 35px;
    margin-top: 35px;
}
.celo-ec-inline-step-title {
	margin-bottom: 10px;
}
.celo-ec-inline-step-title span {
    color: var(--blue);
    position: absolute;
    left: -75px;
}
.celo-ec-inline-label {
    display: block;
    font-weight: 600;
    margin: 0 0 10px;
}

.celo-ec-inline-optional {
	font-weight: 400;
	color: var(--inline-muted);
}

.celo-ec-inline-postcode-row {
	display: flex;
	gap: 15px;
	align-items: stretch;
}
.celo-ec-inline input[type="text"], .celo-ec-inline input[type="tel"], .celo-ec-inline input[type="email"] {
    flex: 1;
    width: 100%;
    height: 65px;
    border: 1px solid var(--inline-ink);
    border-radius: 15px;
    padding: 0 24px;
    font-size: 20px;
    font-family: inherit;
    background: transparent;
    color: var(--inline-ink);
	font-weight: 600;
}
.celo-ec-inline input[type="text"]::-webkit-input-placeholder,
.celo-ec-inline input[type="tel"]::-webkit-input-placeholder,
.celo-ec-inline input[type="email"]::-webkit-input-placeholder{color: #8787A2;opacity: 1}

.celo-ec-inline input[type="text"]::-moz-placeholder,
.celo-ec-inline input[type="tel"]::-moz-placeholder,
.celo-ec-inline input[type="email"]::-moz-placeholder{color: #8787A2;opacity: 1}

.celo-ec-inline input[type="text"]:-ms-input-placeholder,
.celo-ec-inline input[type="tel"]:-ms-input-placeholder,
.celo-ec-inline input[type="email"]:-ms-input-placeholder{color: #8787A2;opacity: 1}

.celo-ec-inline input[type="text"]:-ms-input-placeholder,
.celo-ec-inline input[type="tel"]:-ms-input-placeholder,
.celo-ec-inline input[type="email"]:-ms-input-placeholder{color: #8787A2;opacity: 1}

.celo-ec-inline input[type="text"]::placeholder,
.celo-ec-inline input[type="tel"]::placeholder,
.celo-ec-inline input[type="email"]::placeholder{color: #8787A2;opacity: 1}

.celo-ec-inline input:focus {
	outline: none;
}

.celo-ec-inline-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 15px;
    font-family: inherit;
    font-size: 20px;
    font-weight: 600;
    cursor: pointer;
    padding: 0 22px;
    height: 65px;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    min-width: 172px;
}
.celo-ec-inline-btn:disabled,
.celo-ec-inline-btn[aria-disabled="true"] {
	background: #8787A2 !important;
	color: #fff !important;
	opacity: 1;
	cursor: not-allowed;
	pointer-events: none;
}

.celo-ec-inline-btn-dark {
	background: #181818;
	color: var(--white);
}
.celo-ec-inline-btn-dark:hover{
	background: var(--blue);
	color: var(--white);
}
.celo-ec-inline-btn-blue {
	background: var(--blue);
	color: var(--white);
}
.celo-ec-inline-btn-blue:hover{
	background: var(--black);
	color: var(--white);
}
.celo-ec-inline-btn-accent {
	background: var(--inline-accent);
	color: var(--white);
}

.celo-ec-inline-btn-accent:hover:not(:disabled) {
	background: #a21caf;
}
.celo-ec-inline-btn-wide {
    width: 100%;
    max-width: 440px;
}
.celo-ec-inline-feedback {
    margin: 13px auto 0;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
    max-width: 610px;
}
.celo-ec-inline-feedback.is-success {
	color: var(--inline-success);
}

.celo-ec-inline-feedback.is-error {
	color: var(--inline-error);
}

.celo-ec-inline-feedback.is-success::before,
.celo-ec-inline-feedback.is-error::before {
    content: "";
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    background: center / contain no-repeat;
}

.celo-ec-inline-feedback.is-success::before {
	background-image: url('data:image/svg+xml,<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 19.414L7 14.413L8.413 13L12 16.586L19.585 9L21 10.415L12 19.414Z" fill="%2321AB56"/><path d="M14 0C11.2311 0 8.52431 0.821086 6.22202 2.35943C3.91973 3.89777 2.12532 6.08427 1.06569 8.64243C0.00606596 11.2006 -0.271181 14.0155 0.269012 16.7313C0.809205 19.447 2.14258 21.9416 4.10051 23.8995C6.05845 25.8574 8.55301 27.1908 11.2687 27.731C13.9845 28.2712 16.7994 27.9939 19.3576 26.9343C21.9157 25.8747 24.1022 24.0803 25.6406 21.778C27.1789 19.4757 28 16.7689 28 14C28 10.287 26.525 6.72601 23.8995 4.1005C21.274 1.475 17.713 0 14 0ZM14 26C11.6266 26 9.30655 25.2962 7.33316 23.9776C5.35977 22.6591 3.8217 20.7849 2.91345 18.5922C2.0052 16.3995 1.76756 13.9867 2.23058 11.6589C2.69361 9.33114 3.83649 7.19295 5.51472 5.51472C7.19295 3.83649 9.33115 2.6936 11.6589 2.23058C13.9867 1.76755 16.3995 2.00519 18.5922 2.91345C20.7849 3.8217 22.6591 5.35977 23.9776 7.33316C25.2962 9.30655 26 11.6266 26 14C26 17.1826 24.7357 20.2348 22.4853 22.4853C20.2349 24.7357 17.1826 26 14 26Z" fill="%2321AB56"/></svg>');
}

.celo-ec-inline-feedback.is-error::before {
	background-image: url('data:image/svg+xml,<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14 0C6.2 0 0 6.2 0 14C0 21.8 6.2 28 14 28C21.8 28 28 21.8 28 14C28 6.2 21.8 0 14 0ZM14 26C7.4 26 2 20.6 2 14C2 7.4 7.4 2 14 2C20.6 2 26 7.4 26 14C26 20.6 20.6 26 14 26Z" fill="%23E04D26"/><path d="M19.4 21L14 15.6L8.6 21L7 19.4L12.4 14L7 8.6L8.6 7L14 12.4L19.4 7L21 8.6L15.6 14L21 19.4L19.4 21Z" fill="%23E04D26"/></svg>');
}

.celo-ec-inline-notify {
	margin-top: 15px;
	max-width: 610px;
	margin-left: auto;
	margin-right: auto;
}

.celo-ec-inline-notify-msg {
	margin: 10px 0 0;
	font-size: 14px;
	font-weight: 600;
}
.celo-ec-inline-card .qty-wrapper {
    max-width: 208px;
    margin: 26px auto 0;
}
.celo-ec-inline-stepper {
    display: flex;
    align-items: center;
    gap: 20px;
    border: 1px solid var(--black);
    border-radius: 15px;
    overflow: hidden;
    justify-content: space-between;
}
.celo-ec-inline-stepper-btn{
    width: 69px;
    height: 64px;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    border: 0;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
}
.celo-ec-inline-stepper-btn.minus {
    border-right: 1px solid var(--black);
}
.celo-ec-inline-stepper-btn.plus {
    border-left: 1px solid var(--black);
}
.celo-ec-inline-stepper-btn {
	cursor: pointer;
	font-size: 22px;
	line-height: 1;
}

.celo-ec-inline-stepper-btn:hover {
	background: #CDD3DF;
}
.celo-ec-inline-room {
    margin-top: 26px;
    max-width: 676px;
    margin-left: auto;
    margin-right: auto;
}
.celo-ec-inline-room-heading {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 13px;
}
.celo-ec-inline-room-num {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--black);
    color: var(--white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
}
.celo-ec-inline-grid {
    display: grid;
    gap: 30px;
    margin-bottom: 8px;
    grid-template-columns: 1fr 1fr 1fr !important;
}

.celo-ec-inline-grid-3,
.celo-ec-inline-grid-rooms {
	grid-template-columns: repeat(3, 1fr);
}

.celo-ec-inline-grid-equip {
	grid-template-columns: repeat(3, 1fr);
	max-width: 676px;
    margin-left: auto;
    margin-right: auto;
}

.celo-ec-inline-grid-callback {
	grid-template-columns: repeat(4, 1fr);
	margin-bottom: 24px;
}

.celo-ec-inline-choice {
	border: 1px solid #181818;
	border-color: var(--black) !important;
	border-radius: 15px;
	background: #F8F8F8;
	padding: 25px 13px;
	font-size: 36px;
	font-weight: 600;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: start;
	gap: 10px;
	color: #181818;
	letter-spacing: -0.03em;
	font-family: 'Calibre', sans-serif;
	min-height: 80px;
    justify-content: center;
    text-align: left;
}
.property-type-wrapper {
    margin-top: 25px;
    max-width: 775px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 38px;
}
.property-type-wrapper .property-type-title {
    font-size: 20px;
	margin-bottom: 15px;
}
.celo-ec-inline-choice:hover {
	background-color: #CDD3DF;
    border: 1px solid #181818;
}

.celo-ec-inline-choice.is-selected {
    border-width: 3px;
    background-color: #CDD3DF;
}
.celo-ec-inline-choice-sub {
    font-size: 20px;
    font-weight: 400;
    font-family: 'Calibre', sans-serif;
    letter-spacing: 0;
    margin-top: 5px;
}
.celo-ec-inline-choice-icon {
    color: #181818;
    height: auto;
    width: 100%;
    min-height: 144px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.celo-ec-inline-grid-rooms .celo-ec-inline-choice-sub{
	letter-spacing: -0.03em;
    font-family: 'Calibre', sans-serif;
	font-size: 36px;
    font-weight: 600;
    margin-bottom: auto;
    padding-bottom: 5px;
    margin-top: 0;
}
.celo-ec-inline-grid-rooms .celo-ec-inline-choice{
	font-size: 20px;
    font-weight: 400;
    font-family: 'Calibre', sans-serif;
    letter-spacing: 0;
	min-height: 131px;
    justify-content: start;
}
.celo-ec-property-icon img,.celo-ec-inline-choice-icon svg {
    width: auto;
    height: auto;
}
.celo-ec-inline-choice-property {
    min-height: 128px;
    padding: 30px 13px 20px;
    justify-content: start !important;
    gap: 10px;
}
.celo-ec-inline-choice-equip {
	min-height: 92px;
}
.celo-ec-inline-stars {
    color: #0C53BC;
    letter-spacing: 6px;
    width: 100%;
    text-align: center;
    font-size: 20px;
}
.celo-ec-inline-stars svg {
    width: 22px;
    height: 22px;
    vertical-align: bottom;
    margin: 0 2px;
}
.celo-ec-inline-cta {
	text-align: center;
    margin-top: 85px;
}

.celo-ec-inline-footnote {
	margin: 30px 0 0;
}

.celo-ec-inline-error {
	margin: 8px 0;
	color: var(--inline-error);
}
.celo-ec-inline-result {
    max-width: 1147px;
    margin: 0 auto;
    background: var(--white);
    border-radius: 30px;
    overflow: hidden;
}
.celo-ec-inline-estimate {
	background: var(--blue);
	color: var(--white);
	padding: 40px 50px 50px;
}

.celo-ec-inline-estimate-top {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	align-items: flex-start;
	margin-bottom: 35px;
}

.celo-ec-inline-estimate-kicker {
	color: var(--white);
}

.celo-ec-inline-estimate-price {
	margin-bottom: 10px;
}

.celo-ec-inline-estimate-tools {
	display: flex;
    gap: 20px;
    align-items: start;
}

.celo-ec-inline-startover {
    background: none;
    border: 0;
    color: var(--white);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    padding: 0;
}
.celo-ec-inline-startover:hover{
	color: var(--black);
}
.celo-ec-inline-brand-logo,
.celo-ec-inline-brand img {
    max-width: 99px;
}

.celo-ec-inline-brand-logo-text,
.celo-ec-inline-brand .celo-ec-app-logo-text {
	color: var(--white);
	font-family: var(--inline-serif);
	font-size: 22px;
}
.celo-ec-inline-estimate-line {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 0;
    border-top: 3px solid var(--white);
}
.celo-ec-inline-estimate-line>:last-child {
    font-weight: 600;
}
.celo-ec-inline-lead {
    background: #f6f7f9;
    padding: 65px 50px 45px;
}
.celo-ec-inline-lead-title{
    font-family: var(--inline-serif);
    max-width: 676px !important;
}

.celo-ec-inline-field {
	margin-bottom: 40px;
}
.celo-ec-inline-field-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.celo-ec-inline .celo-ec-req {
	color: inherit;
}
.celo-ec-inline input[type="text"],
.celo-ec-inline input[type="tel"],
.celo-ec-inline input[type="email"] {
	color: #181818;
}
.celo-ec-inline-trust {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 0 0 50px;
    justify-content: center;
	padding: 0;
}

.celo-ec-inline-trust li {
	display: flex;
	align-items: center;
	gap: 8px;
}

.celo-ec-inline-trust-icon {
	display: inline-flex;
	width: 32px;
	height: 32px;
}

.celo-ec-inline-trust-icon svg {
	width: 100%;
	height: 100%;
}

.celo-ec-inline-privacy {
	margin: 32px 0 0;
	font-size: 16px;
    line-height: 19px;
}

.celo-ec-inline-privacy a {
	color: inherit;
}

.celo-ec-inline-confirm {
	text-align: center;
}

.celo-ec-inline-summary {
	text-align: left;
	max-width: 821px;
	margin: 24px auto 50px;
}

.celo-ec-inline-summary-row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--black);
	flex-wrap: wrap;
}
.celo-ec-inline-summary-row span:last-child {
    font-size: 36px;
    line-height: normal;
    font-weight: 600;
    letter-spacing: -0.03em;
}

.celo-ec-inline-summary-label {
    color: var(--blue);
    text-transform: uppercase;
    font-size: 16px;
    font-weight: 600;
	display: block;
	width: 100%;
}
.celo-ec-inline-whn {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	text-align: left;
	font-weight: 600;
}
.celo-ec-inline-whn>div {
    display: flex;
}
.celo-ec-inline-whn span {
    display: inline-flex;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--blue);
    color: var(--white);
    align-items: center;
    justify-content: center;
    margin-right: 8px;
    flex-shrink: 0;
    margin-top: -2px;
}
.celo-ec-inline-support {
	margin-top: 50px;
    font-weight: 600;
}
.celo-ec-inline-whn-label {
    margin-bottom: 32px;
}
.celo-ec-inline .section-header {
    margin-bottom: 55px;
	max-width: 910px;
	margin-left: auto;
	margin-right: auto;
}
.celo-ec-inline .section-header h2 {
    max-width: 840px;
    margin-left: auto;
    margin-right: auto;
	line-height: 1;
	letter-spacing: -0.03em;
	font-weight: 900;
	font-family: 'ITC Clearface Pro';
}
.celo-ec-inline .section-header .desc{
	max-width: 676px;
}
.celo-ec-inline-step {
    position: relative;
    margin-left: 75px;
    max-width: 910px;
}
.celo-ec-inline-postcode {
    max-width: 610px;
    margin-left: auto;
    margin-right: auto;
}
.celo-ec-inline-view .form-block {
    max-width: 440px;
    margin: 0 auto;
}
.celo-ec-inline-view .form-block .celo-ec-inline-grid-callback{
    grid-template-columns: repeat(2, 1fr) !important;
	margin-bottom: 80px;
}
.celo-ec-inline-view .form-block .celo-ec-inline-choice {
    flex-direction: row;
    min-height: auto;
    align-items: center;
    justify-content: space-between;
    font-size: 20px;
    font-weight: 600;
    padding: 13px 20px;
}
.celo-ec-inline-view .form-block  .celo-ec-inline-choice-icon {
    flex-shrink: 0;
    min-height: auto;
	width: 32px;
}
@media (min-width: 1200px) {
	.celo-ec-inline .section-header h2{
		font-size: 70px;
	}
}
@media (max-width: 1199px) {
	.celo-ec-inline{
		padding-top: 84px;
	}
}
@media (max-width: 991px) {
	.celo-ec-inline-card{
		padding: 40px 30px;
	}
	.celo-ec-inline-step-title span{
		left: -60px;
	}
	.celo-ec-inline-step{
		margin-left: 60px;
	}
}
@media (max-width: 767px) {
	.celo-ec-inline-card,
	.celo-ec-inline-lead,
	.celo-ec-inline-estimate {
		padding-left: 20px;
		padding-right: 20px;
	}

	.celo-ec-inline-title {
		font-size: 28px;
	}
    .celo-ec-inline-choice{
        font-size: 26px;
        padding: 20px 10px;
    }
	.celo-ec-inline-grid-rooms .celo-ec-inline-choice-sub{
		font-size: 26px;
	}
	.celo-ec-inline-grid-rooms .celo-ec-inline-choice{
		min-height: 100px;
	}
	.celo-ec-inline-field {
		margin-bottom: 20px;
	}
	.celo-ec-inline-field-row {
		grid-template-columns: 1fr;
	}
	.celo-ec-inline-grid.celo-ec-inline-grid-3,.celo-ec-inline-grid-equip,
	.celo-ec-inline-grid-rooms,
	.celo-ec-inline-grid-equip,
	.celo-ec-inline-grid-callback,
	.celo-ec-inline-whn {
		grid-template-columns: 1fr !important;
		gap: 10px;
	}
	.celo-ec-inline-postcode-row {
		flex-direction: column;
	}

	.celo-ec-inline-estimate-top {
		flex-direction: column;
	}

	.celo-ec-inline-estimate-tools {
		align-items: flex-start;
		flex-direction: row;
		justify-content: space-between;
		width: 100%;
	}

	.celo-ec-inline-btn-wide {
		max-width: none;
	}
	.celo-ec-inline-step {
        margin-left: 0;
    }
	.celo-ec-inline-step-title span {
        left: 0;
        position: relative;
        margin-right: 5px;
    }
	.celo-ec-inline-choice-icon {
		min-height: auto;
	}
	.celo-ec-inline-stars svg{
		width: 20px;
		height: 20px;
	}
	.celo-ec-inline input[type="text"], .celo-ec-inline input[type="tel"], .celo-ec-inline input[type="email"] {
		flex: auto;
		height: 52px;
	}
	.celo-ec-inline-btn{
		height: 52px;
	}
	.celo-ec-inline .section-header {
		margin-bottom: 35px;
	}
	.celo-ec-inline-estimate{
		padding: 30px 20px;
	}
	.celo-ec-inline-lead{
		padding: 35px 20px;
	}
	.celo-ec-inline-view .form-block .celo-ec-inline-grid-callback {
		grid-template-columns: 1fr !important;
		margin-bottom: 30px;
	}
	.celo-ec-inline-trust-icon{
		width: 26px;
		height: 26px;
	}
	.celo-ec-inline-trust{
		justify-content: start;
		margin: 0 0 30px;
	}
	.celo-ec-inline-cta {
		margin-top: 40px;
	}
	.celo-ec-inline-summary-row span:last-child{
		font-size: 26px;
	}
}

