/* --- FCC Calculator Styles --- */
/* Defaults */
.fcc-calculator-wrapper * {
    box-sizing: border-box;
	--fcc-primary: var(--e-global-color-primary, #2a7ae2);
    --fcc-secondary: var(--e-global-color-secondary, #444);
}

/* Main Layout */
.fcc-calculator-wrapper {
    display: flex;
    flex-wrap: wrap; /* Allow wrapping on smaller screens */
    justify-content: space-between;
    margin: 20px auto;
}

/* Column Widths for 50/50 Split */
.fcc-left-column {
    width: calc(60% - 10px);
	position: relative;
}

.fcc-right-column {
    width: calc(40% - 10px);
	position: relative;
}

.fcc-left-column {
    padding-right: 15px;
}

.fcc-right-column-inner {
    position: sticky;
    top: 100px;
}

/* Section Styling */
.fcc-section {
    margin-bottom: 30px;
}

.fcc-section-title {
    font-size: 1.5em;
    font-weight: bold;
    color: #333;
    margin: 0 0 15px 0;
    padding-bottom: 8px;
    border-bottom: 2px solid #f0f0f0;
}

#fcc-selected-fp-title{
	margin: 0 0 15px 0;
	color: var(--fcc-secondary);
	line-height: 1.2em;
}

#fcc-selected-fp-title.fcc-placeholder-text {
    margin: 10px !important;
}

/* Floor Plan Selector */
#fcc-floorplan-select {
    width: 100%;
    padding: 12px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    margin-bottom: 10px;
    background-color: #fff;
    font-size: 1em;
    cursor: pointer;
}

.fcc-floorplan-note {
    font-size: 0.8em;
    color: #888;
    line-height: 1.4;
}

/* Services List */
.fcc-services-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.fcc-service-item {
    padding: 15px 0;
    border-bottom: 1px solid #f0f0f0;
}
.fcc-service-item:last-child {
    border-bottom: none;
}

.fcc-service-main,
.fcc-service-details {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}

.fcc-service-title {
    font-weight: bold;
    color: #333;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-grow: 1;
}

.fcc-service-cost {
    font-weight: bold;
    color: #333;
    white-space: nowrap;
    font-size: 0.95em;
}

.fcc-service-billing-or-desc {
    font-size: 0.9em;
    color: #666;
    flex-grow: 1;
}

#fcc-selected-fp-details span {
    display: inline-block;
}

/* *** NEW: Ensure hidden sections are hidden by default *** */
.shown-hidden {
    display: none;
}

.fcc-badge {
    font-size: 0.65em;
    padding: 0 7px;
    border-radius: 3px;
    color: #FFF;
    background-color: var(--fcc-primary);
    font-weight: bold;
    display: inline-block;
    vertical-align: middle;
    border: 1px solid var(--fcc-primary);
}

.fcc-badge.fcc-badge-addon {
    color: #555;
    background-color: #EEE;
    border: 1px solid #ddd;
}

.fcc-service-item button.show-hide, .fcc-service-item button.show-hide:focus{
	padding: 0;
	border: 1px solid var(--fcc-primary);
	border-radius: 50px;
	font-weight: 700;
	font-size: 12px;
	width: 20px;
	color: #FFF !important;
	background: var(--fcc-primary) !important;
	transition: 0.25s;
	cursor: pointer;
}

.fcc-service-item button.show-hide:hover{
	border: 1px solid var(--fcc-primary);
	color: var(--fcc-primary) !important;
	background: transparent !important;
}

/* Toggle Switch Styling */
.fcc-switch {
  position: relative;
  display: inline-block;
  width: 38px;
  height: 20px;
  flex-shrink: 0;
}
.fcc-switch input { opacity: 0; width: 0; height: 0; }
.fcc-slider {
  position: absolute;
  cursor: pointer;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: #ccc;
  transition: .3s;
}
.fcc-slider:before {
  position: absolute;
  content: "";
  height: 14px; width: 14px;
  left: 3px; bottom: 3px;
  background-color: white;
  transition: .3s;
}
input:checked + .fcc-slider { background-color: var(--fcc-primary); }
input:checked + .fcc-slider:before { transform: translateX(18px); }
.fcc-slider.round { border-radius: 20px; }
.fcc-slider.round:before { border-radius: 50%; }

/* Right Column: Floor Plan Description (Post Content) */
.fcc-fp-description {
     font-size: 0.9em;
     color: #666;
     margin-top: 5px;
     line-height: 1.5;
}

/* Right Column: Selected Floorplan Area */

.fcc-selected-fp-group {
    display: flex;
	gap: 15px;
}

.fcc-selected-floorplan {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
    padding: 15px;
    background-color: #f9f9f9;
    border: 2px solid #eee;
    border-radius: 4px;
    align-items: flex-start;
    min-height: 150px;
}
.fcc-selected-fp-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.fcc-selected-fp-info:not(.is-placeholder) {
    align-items: flex-start;
    justify-content: flex-start;
}
.fcc-selected-fp-info h3 {
    margin: 0 0 5px 0;
    font-size: 1.8em;
    font-weight: bold;
    color: #333;
    width: 100%;
    text-align: left;
}
.fcc-selected-fp-info p {
    margin: 5px 0;
	margin-block-end: 0 !important;
    font-size: 0.9em;
    color: #555;
    width: 100%;
}

#fcc-selected-fp-post-title-desc{
	display: none !important;
}

#fcc-selected-fp-price {
    color: #000;
    margin-top: 10px;
    font-size: 110%;
    font-weight: 600;
}

#fcc-selected-fp-link {
    position: relative;
    background: #FFF;
    display: block;
    padding: 10px;
    border: 1px solid rgba(0, 0, 0, 0.2);
}

.fcc-selected-fp-image{
	
}

.fcc-selected-fp-image img {
    max-width: 150px !important;
	max-height: 200px;
    height: auto;
    display: block;
    border: 1px solid #ddd;
    flex-shrink: 0;
}

.fcc-placeholder-text {
	/*font-size: 2em;
    font-weight: 300; */
    color: #cccccc;
    text-align: center;
    margin: 2em 0 !important;
}

#fcc-selected-fp-link .expand-prompt {
    display: inline-block;
    background: rgb(0 0 0 / 30%);
    vertical-align: middle;
    color: #FFF;
    font-size: 10px;
    text-transform: uppercase;
    padding: 2px 10px;
    font-weight: 600;
    position: absolute;
    right: 10px;
    bottom: 10px;
    transition: 0.25s;
}

.expand-icon {
    display: inline-block;
    vertical-align: middle;
    width: 15px;
    height: 15px;

    /* Color comes from background-color (with optional fallback) */
    /*background-color: var(--e-global-color-primary, #2a7ae2);*/
	background-color: #FFF;

    /* Replace image with mask */
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M140-140v-220h60v117.85l134-134L376.15-334l-134 134H360v60H140Zm460 0v-60h117.85l-134-134L626-376.15l134 134V-360h60v220H600ZM334-583.85l-134-134V-600h-60v-220h220v60H242.15l134 134L334-583.85Zm292 0L583.85-626l134-134H600v-60h220v220h-60v-117.85l-134 134ZM480-413.46q-27.45 0-46.99-19.55-19.55-19.54-19.55-46.99 0-27.45 19.55-46.99 19.54-19.55 46.99-19.55 27.45 0 46.99 19.55 19.55 19.54 19.55 46.99 0 27.45-19.55 46.99-19.54 19.55-46.99 19.55Z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M140-140v-220h60v117.85l134-134L376.15-334l-134 134H360v60H140Zm460 0v-60h117.85l-134-134L626-376.15l134 134V-360h60v220H600ZM334-583.85l-134-134V-600h-60v-220h220v60H242.15l134 134L334-583.85Zm292 0L583.85-626l134-134H600v-60h220v220h-60v-117.85l-134 134ZM480-413.46q-27.45 0-46.99-19.55-19.55-19.54-19.55-46.99 0-27.45 19.55-46.99 19.54-19.55 46.99-19.55 27.45 0 46.99 19.55 19.55 19.54 19.55 46.99 0 27.45-19.55 46.99-19.54 19.55-46.99 19.55Z'/></svg>");

    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    -webkit-mask-position: center;

    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center;
}


/* Floorplan Attributes */

/* Shared styles for all detail icons */
.fcc-detail-bathrooms::before,
.fcc-detail-bedrooms::before,
.fcc-detail-sqft::before,
.fcc-detail-parking::before,
.fcc-detail-pets::before {
  content: '';
  display: inline-block;
  width: 21px;
  height: 21px;
  vertical-align: middle;
  margin: 0 5px 0 0;

  /* Elementor global color drives the icon color */
  background-color: var(--fcc-primary);

  /* Mask setup */
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
}


.fcc-detail-bathrooms::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M282.31-578.84q-29.16 0-49.58-20.45-20.42-20.45-20.42-49.17 0-29.03 20.42-49.71 20.42-20.67 49.58-20.67 29.15 0 49.57 20.62 20.43 20.62 20.43 49.57 0 28.96-20.43 49.38-20.42 20.43-49.57 20.43Zm-70 478.84q-17 0-28.5-11.89-11.5-11.88-11.5-28.88-30.31 0-51.31-21.47-21-21.46-21-51.61v-209.23h112.31v-30.38q0-34.54 23.88-58.81 23.89-24.27 58.43-24.27 19.23 0 35.84 8.2 16.62 8.19 29.85 22.19l48.3 54.69q8 8.11 15.5 15.21 7.5 7.09 16.5 13.17H720v-332.15q0-18.23-12.5-31.5T677.15-800q-8.17 0-15.66 3.46t-13.65 9.62l-50 50.57q5 17.2 2 33.89t-12 31.08l-96.15-98.16q14-9.12 30-11.65 16-2.53 32 3.55l50-50.67q14.69-14.91 33.52-23.3 18.82-8.39 39.94-8.39 43.31 0 73.08 30.5Q780-799 780-755.23v332.15h80v209.23q0 30.15-21 51.61-21 21.47-51.31 21.47 0 17-11.5 28.88-11.5 11.89-28.5 11.89H212.31Zm-40-100.77h615.38q5.39 0 8.85-3.85 3.46-3.84 3.46-9.23v-149.23H160v149.23q0 5.39 3.46 9.23 3.46 3.85 8.85 3.85Z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M282.31-578.84q-29.16 0-49.58-20.45-20.42-20.45-20.42-49.17 0-29.03 20.42-49.71 20.42-20.67 49.58-20.67 29.15 0 49.57 20.62 20.43 20.62 20.43 49.57 0 28.96-20.43 49.38-20.42 20.43-49.57 20.43Zm-70 478.84q-17 0-28.5-11.89-11.5-11.88-11.5-28.88-30.31 0-51.31-21.47-21-21.46-21-51.61v-209.23h112.31v-30.38q0-34.54 23.88-58.81 23.89-24.27 58.43-24.27 19.23 0 35.84 8.2 16.62 8.19 29.85 22.19l48.3 54.69q8 8.11 15.5 15.21 7.5 7.09 16.5 13.17H720v-332.15q0-18.23-12.5-31.5T677.15-800q-8.17 0-15.66 3.46t-13.65 9.62l-50 50.57q5 17.2 2 33.89t-12 31.08l-96.15-98.16q14-9.12 30-11.65 16-2.53 32 3.55l50-50.67q14.69-14.91 33.52-23.3 18.82-8.39 39.94-8.39 43.31 0 73.08 30.5Q780-799 780-755.23v332.15h80v209.23q0 30.15-21 51.61-21 21.47-51.31 21.47 0 17-11.5 28.88-11.5 11.89-28.5 11.89H212.31Zm-40-100.77h615.38q5.39 0 8.85-3.85 3.46-3.84 3.46-9.23v-149.23H160v149.23q0 5.39 3.46 9.23 3.46 3.85 8.85 3.85Z'/></svg>");
}

.fcc-detail-bedrooms::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M100-220v-220q0-22.38 10.62-43.42Q121.23-504.46 140-518v-102q0-41.92 29.04-70.96Q198.08-720 240-720h170q21.85 0 39.15 8.5Q466.46-703 480-688q13.54-15 30.85-23.5 17.3-8.5 39.15-8.5h170q41.92 0 70.96 29.04Q820-661.92 820-620v102q18.77 13.54 29.38 34.58Q860-462.38 860-440v220h-60v-80H160v80h-60Zm410-320h250v-80q0-17-11.5-28.5T720-660H550q-17 0-28.5 11.5T510-620v80Zm-310 0h250v-80q0-17-11.5-28.5T410-660H240q-17 0-28.5 11.5T200-620v80Zm-40 180h640v-80q0-17-11.5-28.5T760-480H200q-17 0-28.5 11.5T160-440v80Zm640 0H160h640Z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M100-220v-220q0-22.38 10.62-43.42Q121.23-504.46 140-518v-102q0-41.92 29.04-70.96Q198.08-720 240-720h170q21.85 0 39.15 8.5Q466.46-703 480-688q13.54-15 30.85-23.5 17.3-8.5 39.15-8.5h170q41.92 0 70.96 29.04Q820-661.92 820-620v102q18.77 13.54 29.38 34.58Q860-462.38 860-440v220h-60v-80H160v80h-60Zm410-320h250v-80q0-17-11.5-28.5T720-660H550q-17 0-28.5 11.5T510-620v80Zm-310 0h250v-80q0-17-11.5-28.5T410-660H240q-17 0-28.5 11.5T200-620v80Zm-40 180h640v-80q0-17-11.5-28.5T760-480H200q-17 0-28.5 11.5T160-440v80Zm640 0H160h640Z'/></svg>");
}

.fcc-detail-sqft::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M232.62-150.77q-34.31 0-58.08-23.77-23.77-23.77-23.77-58.08v-474.91q0-25.54 22.96-35.5 22.96-9.97 40.27 7.34l74.62 74.62-42.46 42.46 23.38 23.38L312-637.69l94.77 94.77-42.46 42.46 23.38 23.38 42.46-42.46 96.31 96.31L484-380.77l23.38 23.38 42.46-42.46 94.77 94.77-42.46 42.46 23.39 23.39L668-281.69l68.46 68.46q16.92 16.92 6.96 39.69-9.96 22.77-35.12 22.77H232.62ZM252.31-240H572L240-572v319.69q0 5.39 3.46 8.85t8.85 3.46Z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M232.62-150.77q-34.31 0-58.08-23.77-23.77-23.77-23.77-58.08v-474.91q0-25.54 22.96-35.5 22.96-9.97 40.27 7.34l74.62 74.62-42.46 42.46 23.38 23.38L312-637.69l94.77 94.77-42.46 42.46 23.38 23.38 42.46-42.46 96.31 96.31L484-380.77l23.38 23.38 42.46-42.46 94.77 94.77-42.46 42.46 23.39 23.39L668-281.69l68.46 68.46q16.92 16.92 6.96 39.69-9.96 22.77-35.12 22.77H232.62ZM252.31-240H572L240-572v319.69q0 5.39 3.46 8.85t8.85 3.46Z'/></svg>");
}

/* Right Column: Cost Summary */
.fcc-cost-summary {
    padding: 25px 20px;
    border: 2px solid #eee;
    border-radius: 4px;
}

.fcc-cost-summary p:first-child {
    font-size: 0.9em;
    color: #666;
    margin: 0 0 20px 0;
    text-align: center;
}

/* Flexbox row for the summary items */
.fcc-summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.fcc-summary-label {
    font-weight: bold;
    color: #333;
}

/* Optional dots leader if desired, otherwise leave empty or remove */
.fcc-summary-dots {
    flex-grow: 1;
    margin: 0 10px;
    border-bottom: 1px dotted #ccc;
    position: relative;
    top: 0; /* Adjust visual alignment */
}

.fcc-cost-value {
    font-weight: bold;
    color: #333;
}

/* Apply Now Button */
.fcc-apply-button {
    display: inline-block;
    background-color: transparent;
    color: #333;
    border: 2px solid var(--fcc-primary);
    padding: 12px 24px;
    text-decoration: none;
    font-weight: 500;
    margin-top: 0;
	line-height: 15px;
    transition: all 0.3s ease;
}
.fcc-apply-button:hover {
    background-color: var(--fcc-primary);
    border-color: var(--fcc-primary);
    color: #FFF !important;
}

/* Responsive Adjustments */
@media (max-width: 965px) {
	.fcc-selected-fp-group {
		display: block;
	}
}
@media (max-width: 768px) {
    .fcc-calculator-wrapper {
        flex-direction: column; /* Stack columns on smaller screens */
    }
    .fcc-right-column,
    .fcc-left-column {
        flex-basis: 100%; /* Make columns full width when stacked */
        width: 100%;
        padding-right: 0;
    }
    .fcc-right-column {
        order: -1; /* Move summary to the top on mobile */
    }
    .fcc-selected-floorplan {
        flex-direction: column-reverse;
    }
    .fcc-selected-fp-image img {
        max-width: 150px;
        margin-bottom: 15px;
    }

	.fcc-section-title{
		margin-top: 15px;
	}
	
}