* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    /* font-family: 'poppins', 'Arial'; */
    font-family: "Inter", sans-serif;
    user-select: none;
    scroll-behavior: smooth;
    color: var(--black);
}

#openDesignPopup{
   z-index: 9999999999;
}
.pasteCodeDiv{
    display: grid;
    align-items: center;
    grid-column-gap: 9px;
    grid-template-columns: auto 152px;
}
.pasteCodeDiv .form-control{
    border-radius: 12px !important;
    border: 1px solid #dfe3e8 !important;
}
.consultation{
    color: var(--gray);
    display: inline;
    font-size: 12px;
}
.priceSpan.totalPrice{
    font-size: inherit;
    display: inline-block;
    color: inherit;
}
#loader {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    text-align: center;
    display: block;
    gap: 30px;
    font-size: 20px;
    z-index: 99999999;
}

/*loader spin*/
.spin {
    border: 5px solid #f3f3f3;
    border-radius: 50%;
    border-top: 5px solid #748274;
    width: 70px;
    height: 70px;
    -webkit-animation: spin 2s linear infinite; /* Safari */
    animation: spin 2s linear infinite;
    margin: 0 auto;
}

/* Safari */
@-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
a{
    text-decoration: none;
    color: inherit;
}
.disabled {
  pointer-events: none;
  opacity: 0.5;
}

:root {
    --green: #6B7B6B;
    --darkGreen: #4B564B;
    --white: #ffffff;
    --gray: #525866;
    --grayBorder: #E2E4E9;
    --black: #27272A;
    --lightGreen: #F0F2F0;
}

/* Global: kill Bootstrap focus ring everywhere (safe + short) */
:root{
  --bs-focus-ring-width: 0;
  --bs-focus-ring-color: transparent;
}

/* Inputs/selects/buttons/accordion: no ring + keep neutral border on focus */
.form-control:focus,
.form-select:focus,
.btn:focus,
.accordion-button:focus {
  box-shadow: none !important;
  outline: none !important;
  border-color: #dfe3e8 !important; /* set to your base border color */
}

/* In case your browser uses focus-visible */
.form-control:focus-visible,
.form-select:focus-visible {
  outline: none !important;
}

/* If you use input-groups, also remove ring on the copy button, etc. */
.input-group .btn:focus {
  box-shadow: none !important;
  outline: none !important;
}
.loader,.mainLoader {
  border: 3px solid #f3f3f3;
  border-radius: 50%;
  border-top: 3px solid #748274;
  width: 30px;
  height: 30px;
  -webkit-animation: spin 2s linear infinite; /* Safari */
  animation: spin 2s linear infinite;
  position: absolute;
  top: 12px;
  left: 12px;
}
.mainLoader{
   position: absolute;
   top: 50% !important;
   left: 50% !important;
   transform: translate(-50%,-50%) !important;
   z-index: 99999;
}

/* Safari */
@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

body {
    background: var(--lightGreen);
}

html, body {
    scroll-behavior: smooth;
    scrollbar-width: thin;
    scrollbar-color: #999 transparent;
}
.scroller { -webkit-overflow-scrolling: touch; }

img, svg{
    max-width: 100%;
}

/* custom scrollbar */

/* For Chrome, Edge, Safari */
::-webkit-scrollbar {
    width: 6px;
    /* Thin scrollbar */
    height: 6px;
}

::-webkit-scrollbar-track {
    background: transparent;
    /* Optional: transparent track */
}

::-webkit-scrollbar-thumb {
    background-color: #999;
    /* Thumb color */
    border-radius: 10px;
    /* Rounded edges */
    border: 2px solid transparent;
    background-clip: content-box;
}

.cursorPointer, button, img, ul li{
    cursor: pointer;
}
.grayColor{
    color: var(--gray);
}

nav, iframe, .ui {
    border: 1px solid var(--lightGreen);
    scroll-behavior: smooth;
}

main {
    height: 100vh;
    width: 100%;
    overflow: hidden;
    display: grid;
    /*grid-template-columns: 78.125% auto;*/
    grid-template-columns: auto 420px;
    /* grid-template-columns: 100%; */
    scroll-behavior: smooth;
}

.iframeParent, iframe {
    height: 100vh;
    width: 100%;
    position: relative;
    border-bottom: 0;
    border: 0;
}

.iframeParent nav {
    position: fixed;
    top: 0;
    background: var(--white);
    /*width: 78.125%;*/
    width: calc(100% - 420px);
    height: 64px;
    display: flex;
    justify-content: space-between;
    z-index: 999;
}

.ui {
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    border-top: 0;
    border-left: 0;
    padding: 12px 16px;
    padding-top: 0;
    padding-bottom: 100px;
    /* padding-bottom: 80px; */
    position: relative;
    border: 0;
    scroll-behavior: smooth;
}

ul {
    display: flex;
    align-items: center;
    gap: 30px;
    height: 64px;
    margin-bottom: 0;
    padding-left: 30px;
}

/* ul:last-child{ */
.mr24 {
    padding-left: 0;
    padding-right: 30px;
    gap: 12px;
}
.langDropdownCustom ul {
    height: 85px;
}

ul li {
    list-style: none;
}

.sideIconsParent {
    position: absolute;
    top: 50%;
    left: 28px;
    background: var(--lightGreen);
    border-radius: 8px;
    gap: 4px;
    display: grid;
    padding: 4px;
    transform: translate(-14px, -50%);
}

.iconParent {
    border-radius: 8px;
    height: 40px;
    width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.iconParent.active{
    background-color: var(--green);
}
.iconParent.active:hover {
    background-color: var(--darkGreen);
}

svg path {
    stroke: var(--gray);
}

.active svg path {
    stroke: var(--white);
    /* white icon stroke */
}

.iconParent:hover {
    background-color: var(--lightGreen) !important;
    cursor: pointer;
}

.tooltip-inner {
    padding: 8px 14px !important;
    font-size: 14px;
    font-weight: 500;
    border-radius: 8px;
    background-color: #000 !important;
}

.tooltip.bs-tooltip-end .tooltip-arrow::before {
    background-color: #000 !important;
}

.tooltip.bs-tooltip-end .tooltip-arrow {
    left: -6px !important;
}

.tooltip.bs-tooltip-end {
    margin-left: 8px !important;
}

.bottomLeftIcons {
    position: absolute;
    bottom: 28px;
    left: 24px;
    display: flex;
    gap: 12px;
    align-items: center;
    z-index: 999;
}

.bgIcon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--green);
    display: grid;
    justify-content: center;
    align-items: center;
}
.bgIcon:hover{
    background: var(--darkGreen);
}

/* background */
/* Container */
.background-modal {
    width: 200px;
    background-color: var(--white);
    padding: 16px;
    border-radius: 8px;
    position: absolute;
    bottom: 80px;
    left: 28px;
    display: none;
}

/* Header */
.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #1c1c1c;
    margin-bottom: 10px;
    position: relative;
}

.modal-header p {
    font-size: 16px;
}

.close-btn {
    font-size: 22px;
    color: #9ca3af;
    position: absolute;
    top: 0;
    right: 0;
}


/* Background Image Grid */
.background-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

/* Each background option */
.background-option {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    aspect-ratio: 1/1;
    background-color: #f9fafb;
    transition: border 0.2s ease;
    border: 1px solid transparent;
}

.background-option img:nth-child(1) {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Tickmark styling */
.tickmark {
    position: absolute;
    top: 6px;
    right: 6px;
    z-index: 2;
    display: none;
}

/* Selected state */
.background-option.active {
    border: 1px solid var(--green);
}
.background-option.active:hover {
    border: 1px solid var(--darkGreen);
}

.background-option.active .tickmark {
    display: block;
}

.theme {
    background: var(--white);
    border-radius: 8px;
    padding: 5px;
    border: 1px solid var(--grayBorder);
}

.theme button {
    background: transparent;
    border: 0;
    border-radius: 4px;
    padding: 10px;
    border-radius: 7px;
}

.theme button.active {
    background: var(--green);
    color: var(--white);
}
.theme button.active:hover {
    background: var(--darkGreen);
}

.active .themeText {
    color: var(--white);
}

.measurementIconsParent {
    position: absolute;
    bottom: 28px;
    left: 50%;
    display: flex;
    gap: 4px;
    background: var(--lightGreen);
    /* width: 124px; */
    width: auto;
    padding: 0 5px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    z-index: 999;
}

.measurementIcon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    border: 1px solid var(--grayBorder);
}

.measurementIcon.active {
    background: var(--green);
    border: 1px solid transparent;
}
.measurementIcon.active:hover {
    background: var(--darkGreen);
}

.zoomFullScreenParent {
    position: absolute;
    bottom: 28px;
    right: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    z-index: 999999999;
}

.zoomIcons {
    display: flex;
    background: var(--white);
    justify-content: center;
    align-items: center;
    padding: 10px 15px;
    gap: 10px;
    border-radius: 100px;
}

.fullscreenIcons {
    background: var(--white);
    padding: 10px 15px;
    border-radius: 100px;
    position: relative;
    z-index: 999;
}


/* UI */
.ui .tabs {
    position: sticky;
    /* top: -12px;   */
    top: 0px;
    z-index: 10;         /* make sure it stays above content */
}

.ui .tabs {
    width: 100%;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--lightGreen);
    margin-bottom: 20px;
}

.tabs .wrapper-tab {
    width: 100%;
    background: #F9FAFB;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    justify-content: space-between;
    gap: 5px;
    border: 1px solid #C2C9C2;
    border-radius: 4px;
    padding: 5px;
    /* margin-bottom: 20px; */
}

/*
    Tabs props are moved to wrapper-tab
*/

.tabs .tabBtn {
    background: transparent;
    width: fit-content;
    border: 0;
    border-radius: 4px;
    padding: 5px;
    width: 100%;
}

.tabBtn.active {
    background-color: var(--green);
    color: var(--white);
}
.tabBtn.active:hover {
    background-color: var(--darkGreen) !important;
}

.progressLabel {
    font-size: 16px;
    font-weight: 600;
    color: var(--black);
}

.progress {
    height: 4px;
}

.progress-bar {
    background-color: var(--green);
}
.progress-bar:hover {
    background-color: var(--darkGreen);
}

/* card */
.card-title {
    font-size: 16px;
    font-weight: 600;
}

.lengths {
    display: grid;
    border: 1px solid var(--grayBorder);
    grid-template-columns: repeat(3, 1fr);
    text-align: center;
}
.standardShelfLength .lengths{
    grid-template-columns: repeat(4, 1fr);
}
.kamadoBtnLength{
    grid-template-columns: repeat(2, 1fr);
}
.lengthBtn {
    /* height: 32px; */
    height: fit-content;
    align-content: center;
    border: 1px solid var(--grayBorder);
    cursor: pointer;
    font-size: 14px;
}

.priceSpan {
    color: #868C98;
    /* display: none; */
    display: block;
    font-size: 12px;
}

.lengthBtn.active {
    background: var(--lightGreen);
    color: var(--darkGreen);
    font-weight: 500;
}

.lengthBoxes {
    display: flex;
    flex-wrap: wrap;
}

.lengthBoxes .box {
    border: 1px solid var(--gray);
    width: 40px;
    height: 40px;
    border-left: none;
    border-right: 1px solid var(--gray);
}

.lengthBoxes .box:nth-child(1) {
    border-left: 1px solid;
}

.flexContainer {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    text-align: center;
    display: grid;
    grid-template-columns: repeat(5, 55px);
}

.flexContainer .optionSize40 {
    width: 40px;
    height: 40px;
    width: 55px;
    height: 55px;
    border: 0;
    border-radius: 4px;
    font-size: 12px;
    position: relative;
}

.optionName {
    font-size: 12px;
    font-size: 14px;
    margin-top: 2px;
}

.color.noir, .doorStaal, .doorHandles .zwart {
    background: #000;
}

.color.blanc{
    background: #EEE9DE;
}
.doorHandles .wit {
    background: #EEE9DE;
}
.color.beige {
    background: #ccc2ac;
}
.doorHandles .rvs {
    background: #B8B8B8
}
.color.vert {
    background: #8b9183;
}
.doorHandles .brons {
    background: #4A2C17;
}

/* handles */
.doorHandles .goud {
    background: #ae8626;
}

.doorHandles .gunMetal {
    background: #726f6a;
}

.doorHandles .patinaGold {
    background: #726543;
}

.doorHandles .green {
    background: #99a285;
}

.doorHandles .beige {
    background: #cdc2ad;
}

/* werktop */
.option.Ava {
    background-image: url("../assets/images/ava.png");
}

.option.Entzo {
    background-image: url("../assets/images/Entzo.png");
}

.option.Adia {
    background-image: url("../assets/images/adia.png");
}

.option.Lunar {
    background-image: url("../assets/images/Lunar.png");
}

.option.Kreta {
    background-image: url("../assets/images/Kreta.png");
}

.option.Laurent {
    background-image: url("../assets/images/Laurent.png");
}

.option.Kelya {
    background-image: url("../assets/images/Kelya.png");
}

.option.Sirius {
    background-image: url("../assets/images/Sirius.png");
}

.option.lichtEikenLatten {
    background-image: url("../assets/images/frontDoors/lichtEiken.png");
}
.option.doorStone {
    background-image: url("../assets/images/Sirius.png");
}

.option.geoliedEikenLatten {
    background-image: url("../assets/images/frontDoors/geolied.png");
}

.option.eikenULatten {
    background-image: url("../assets/images/frontDoors/eikenULatten.png");
}

.option.witEikenULatten {
    background-image: url("../assets/images/frontDoors/witEiken.png");
}

.option.walnootLatten {
    background-image: url("../assets/images/frontDoors/walnoot.png");
}

.option.essenLatten {
    background-image: url("../assets/images/frontDoors/essen.png");
}

.option.zilvergrijsULatten {
    background-image: url("../assets/images/frontDoors/Zilvergrijs.png");
}

/* .option.stelpoten{
    background-image: url("../assets/images/stelpotem.png");
}
.option.plinth{
    background-image: url("../assets/images/plinth.png");
} */
.option {
    background-size: cover;
    position: relative;
}

.bottomStickyBar {
    position: fixed;
    bottom: 0;
    right: 0;
    /* right: 32px; */
    background: rgba(255, 255, 255, 0.9);
    /* semi-transparent white */
    padding: 12px 16px;
    display: flex;
    justify-content: center;
    box-shadow: 0 -6px 20px rgba(0, 0, 0, 0.1);
    /* subtle upper shadow */
    backdrop-filter: blur(0px);
    /* optional: glass effect */
    z-index: 1000;
    /*width: 21.875%;*/
    width: 420px;
    /* width: calc(21.875% - 32px); */
}

.nextStepBtn {
    background-color: transparent;
    color: var(--green);
    font-weight: 500;
    padding: 16px 32px;
    font-size: 16px;
    border-radius: 10px;
    border: 1px solid var(--green);
    transition: background 0.3s ease;
    width: 100%;
}

.nextStepBtn:hover, .priceOverview:hover {
    background-color: var(--green) !important;
    color: var(--white) !important;
    /* border: 0; */
}

.mobileNavCard {
    max-width: 75%;
    min-width: 50%;
    background: var(--white);
    position: absolute;
    top: 40px;
    right: 10px;
    padding: 1rem;
    font-size: 14px;
    z-index: 999;
    display: none;
}

.mobileNavCard .closeBtn {
    /* position: absolute; */
    top: -10px;
    right: 15px;
    font-size: 30px;
    color: var(--gray);
}


/* Hide animation */
.ui-wrapper.fullscreen-hide {
    opacity: 0;
    /* transform: translateY(20px); */
    transition: all 1s ease;
    pointer-events: none;
}

/* Show animation */
.ui-wrapper.fullscreen-show {
    opacity: 1;
    /* transform: translateY(0); */
    transition: all 1s ease;
    pointer-events: auto;
}

/* Force iframe to take 100% */
.fullscreen-iframe iframe {
    position: fixed !important;
    top: 0;
    left: 0;
    height: 100vh !important;
    width: 100vw !important;
    z-index: 999;
}

/* .ui-wrapper{
    display: none;
} */

.shareBtn {
    top: 10px;
    bottom: auto;
    right: 410px;
    z-index: 1;
    border-radius: 8px;
    width: 34px;
    height: 34px;
    border: 1px solid var(--grayBorder);
    background: transparent;
}
.shareBtn svg path {
    stroke: #000 !important;
}

.langDropdown {
    border-radius: 2px;
    border: 1px solid var(--grayBorder);
}
.base {
    display: flex;
    align-items: center;
    gap: 16px;
    text-align: center;
}

.base .option {
    position: relative;
    border: 1px solid transparent;
    padding: 15px;
    border-radius: 4px;
}

.base .option.active {
    border: 1px solid var(--green);
    padding: 15px;
    border-radius: 4px;
}
.base .option.active:hover {
    border: 1px solid var(--darkGreen);
}
.base .option .baseImg {
    height: 35px;
    width: 85px;
}

/* toggle price switch */
.showHidePricesWrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.showHidePricesWrapper .card-title {
    margin-bottom: 0;
}

.switch {
    position: relative;
    display: inline-block;
    width: 36px;
    height: 20px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked .slider:before {
    left: -7px;
}

.slider:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 2px;
    bottom: 2px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked+.slider {
    background-color: var(--green);
}

input:focus+.slider {
    box-shadow: 0 0 1px var(--green);
}

input:checked+.slider:before {
    -webkit-transform: translateX(16px);
    -ms-transform: translateX(16px);
    transform: translateX(16px);
}

/* Rounded sliders */
.slider.round {
    border-radius: 34px;
}

.slider.round:before {
    border-radius: 50%;
}

.langDropdownCustom img {
    vertical-align: middle;
    border-radius: 2px;
}

.werktopThickness.card-title {
    color: var(--gray);
}

.werktopThicknessLengths {
    display: grid;
    border: 1px solid var(--grayBorder);
    text-align: center;
    grid-template-columns: repeat(4, 1fr);
}

.werktopThicknessLengths .lengthBtn {
    padding: 5px;
}

#saveLinkModal {
    display: none;
}

#saveLinkModal .modalDialog {
    width: 400px;
    max-width: 400px;
    height: auto;
    background: var(--white);
    border: 1px solid;
    border-radius: 27px;
    /* for center */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 99999;
}

#saveLinkModal .modalDialog {
    width: 684px;
    max-width: 684px;
}

#saveLinkModal .modal-body {
    /*padding: 75px 71px;*/
    padding: 20px 30px;
    ;
}

#saveLinkModal .modal-body .mainDiv {
    display: flex;
    align-items: baseline;
    gap: 27px;
}

#saveLinkModal .modal-body .mainDiv .attentionDiv {
    /*font-size: 32px;*/
    font-size: 24px;
    font-weight: 600;
}

#saveLinkModal .modal-body .mainDiv p {
    /*font-size: 26px;*/
    font-size: 20px;
    font-weight: 200;
}

#saveLinkModal .modal-body .mainDiv p {
    font-weight: normal;
    font-size: 18px !important;
}

#saveLinkModal .modal-body .btnDiv {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    /*margin-top: 50px;*/
    margin-top: 25px;
}

#saveLinkModal .modal-body .btnDiv button {
    border-radius: 50px;
    font-size: 16px;
    font-weight: bold;
    border: 1px solid #748274;
    color: #748274;
    margin: 0 auto;
    margin-bottom: 20px;
    width: 250px;
    height: 43px;
    background: transparent;
}

#saveLinkModal .modal-body .btnDiv button.active {
    background-color: #748274;
    color: var(--white);
}

#saveLinkModal .modal-body {
    padding: 45px !important;
}

#saveLinkModal .modal-body .mainDiv {
    display: grid;
    gap: 0 !important;
}

#saveLinkModal .modal-body .mainDiv .attentionDiv {
    text-align: center !important;
    margin: 0 auto !important;
}

#saveLinkModal .modal-body .btnDiv button:hover {
    background-color: #748274;
    color: var(--white);
}

.saveIconDiv {
    /* background-color: #748274; */
    padding: 15px;
    border-radius: 50px;
    width: fit-content;
    text-align: center;
    margin: 0 auto;
}

.hidden {
    display: none !important;
}
.moduleLengthBtnWrapper{
    display: grid;
    grid-template-columns: repeat(7,1fr);
}
.moduleLengthBtnWrapper .moduleBtn{
    border: 1px solid var(--grayBorder);
    text-align: center;
    height: 40px;
    display: grid;
    align-items: center;
    cursor: pointer;
}
.moduleLengthBtnWrapper .moduleBtn.active{
    background: var(--green);
    color: var(--white);
    border-color: transparent;
}
.moduleLengthBtnWrapper .moduleBtn.active:hover{
    background: var(--darkGreen);
}
.moduleType, .kamadoType,.sinkType{
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(3,1fr);
    text-align: center;
    gap: 8px;
}
.gasType,.electricType,.fridgeType{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    justify-content: center;
    text-align: center;
    gap: 8px;
}
.kamadoDrawerLength{
    grid-template-columns: repeat(3,1fr);
}
.moduleImgDiv, .kamadoImgDiv{
    height: 78px;
    padding-top: 10px;
}
.kamadoImgDiv{
    height: fit-content;
}
.moduleType .option, .kamadoType .option, .gasType .option{
    height: 138px;
    align-content: center;
    border: 1px solid var(--grayBorder);
    border-radius: 4px;
    background: var(--white);
}
.kamadoType .option, .gasType .option{
    height: fit-content;
    min-height: 199px;
}
.moduleType .option.active, .kamadoType .option.active, .gasType .option.active, .electricType .option.active, .fridgeType .option.active, .sinkType .option.active{
    border: 1px solid  var(--darkGreen);
    background: var(--lightGreen);
}
.moduleType .optionName, .kamadoType .optionName{
    /* height: 42px; */
}
.kamadoCard .kamadoType .optionName{
    max-width: 75%;
    margin: 0 auto;
}
.standardShelfBtn{
    padding: 5px;
    font-size: 14px;
    cursor: pointer;
}
.standardShelfBtn.active{
    background: var(--lightGreen);
}
.standardDrawerLength{
    grid-template-columns: repeat(2,1fr);
    padding: 4px;
}
.standardDrawerBtn, .kamadoOptionsBtn, .kamadoDrawerBtn, .fridgeDirectionBtn, .shelvesDirectionBtn,.kamadoDirectionBtn,.sinkBoilingBtn, .mountingPositionBtn, .personsBtn, .personsDirectionBtn{
    padding: 7px;
    cursor: pointer;
    display: grid;
    align-items: center;
    font-size: 14px;
}
.standardDrawerBtn:hover, .kamadoOptionsBtn:hover, .kamadoDrawerBtn:hover, .fridgeDirectionBtn:hover, .shelvesDirectionBtn:hover,.kamadoDirectionBtn:hover,.sinkBoilingBtn:hover, .mountingPositionBtn:hover, .personsBtn:hover, .personsDirectionBtn:hover{
    background: var(--lightGreen);
}
.standardDrawerBtn.active, .kamadoOptionsBtn.active, .kamadoDrawerBtn.active, .fridgeDirectionBtn.active, .shelvesDirectionBtn.active,.kamadoDirectionBtn.active,.sinkBoilingBtn.active, .mountingPositionBtn.active, .personsBtn.active, .personsDirectionBtn.active{
    background: var(--lightGreen);
}
.extrasCheckboxWrapper{
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid var(--grayBorder);
    border-radius: 4px;
    padding: 4px;
    padding-right: 12px;
    gap: 12px;
    cursor: pointer;
}
.extrasImgTextWrapper{
    display: flex;
    gap: 12px;
    align-items: center;
}
.extrasImgTextWrapper .text{
    color: var(--gray);
    font-size: 14px;
}
.extrasCheckboxWrapper input {
  width: 20px;
  height: 20px;
  appearance: none;
  -webkit-appearance: none;
  background-color: var(--white);
  border: 1px solid #D0D5DD;
  border-radius: 4px;
  cursor: pointer;
  position: relative;
  pointer-events: none; /* so clicks on the box still go to label */
}

/* Checked state */
.extrasCheckboxWrapper input:checked {
  background-color: var(--green);
  border: 1px solid var(--green);
}
.extrasCheckboxWrapper input:checked:hover {
  background-color: var(--darkGreen);
  border: 1px solid var(--darkGreen);
}

/* Optional: white checkmark */
.extrasCheckboxWrapper input:checked::after {
  content: '';
  position: absolute;
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.extrasImgTextWrapper .priceSpan{
    color: var(--gray);
    display: inline;
    font-size: 14px;
}
.summaryCard .text, .summaryCard .priceSpanSummary{
    font-size: 14px;
    color: var(--gray);
}
.summaryCard .extrasCheckboxWrapper{
    border: 0;
}
.priceOverview{
    border: 1px solid var(--grayBorder);
    border-radius: 4px;
    padding: 12px;
    margin-bottom: 0;
    border-bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    font-size: 14px;
    font-weight: 500;
    background: var(--lightGreen) !important;
    color: var(--green) !important;
}

.summaryCard .priceSummary{
    border: 1px solid var(--grayBorder);
    border-radius: 4px;
    /* padding: 0 12px; */
    /* border-top-left-radius: 0;
    border-top-right-radius: 0;
    max-height: 350px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin; */
}
#accordionPrices .accordion-item{
    /*padding: 0 10px !important;*/
    padding-left: 7px !important;
}
.renderBasicSummary{
    padding-bottom: 10px !important;
}
.summaryCard .totalPriceWrapper{
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    margin: 0 7px;
}
.summaryCard .totalPriceWrapper .totalPriceText, .summaryCard .totalPriceWrapper .totalPrice{
    color: var(--green);
    font-weight: 600;
}
.modelNameSummary{
    font-weight: 500;
    font-size: 14px;
}
.summaryCardButtonsWrapper{
    /* position: fixed;
    bottom: 0;
    width: calc(100% - 78.125%);
    right: 0; */
    border-radius: 0;
    position: absolute;
    border-radius: 0;
    bottom: 0;
    width: 100%;
    right: 0px;
    background: var(--lightGreen);
}
.summaryButtonsWrapper{
    /* display: grid; */
    grid-template-columns: repeat(2,1fr);
    gap: 12px;
    padding: 16px;
    padding-top: 0;
}
.summaryButtonsWrapper a{
    padding: 5px;
    display: inline-block;
    color: var(--green);
    text-decoration: none;
    font-weight: 600;
    cursor: pointer;
}
.summaryButtonsWrapper button, .quoteWrapper button{
    border: 1px solid var(--green);
    border-radius: 4px;
    background: var(--white);
    color: var(--green);
    padding: 8px;
    font-size: 14px;
    font-weight: 500;
}
.quoteWrapper button{
    background: var(--lightGreen);
}
.summaryButtonsWrapper button:hover, .quoteWrapper button:hover{
    background: var(--green) !important;
    color: var(--white);
}
.quoteWrapper{
    display: grid;
    grid-template-columns: repeat(1,1fr);
    gap: 12px;
    /* padding: 0; */
    padding: 0 16px;
}
.ui.pb0{
    padding-bottom: 0 !important;
}

/* parent column */
.summaryMainWrapper{
  /* height: calc(100dvh - 150px); */
  height: calc(100dvh - 325px);
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 16px;
  overflow: hidden;                /* column par scroll band */
  overflow-y: auto;
  scrollbar-width: none !important;
}
/* is column ke andar cards par margin NA ho */
.summaryMainWrapper > .card{
  margin: 0 !important;            /* .mt-4 neutralize */
}
/* The scrolling summary card (top one) */
.summaryMainWrapper .summaryCard:not(.summaryCardButtonsWrapper){
  overflow-y: auto; /* internal scroll */
  min-height: 0;  /* IMPORTANT: grid child ko scroll allow karne ke liye */
  scrollbar-width: none;
}
.summaryMainWrapper .summaryCard:not(.summaryCardButtonsWrapper)::‑webkit-scrollbar{
  display: none;                       /* Chrome/Edge */
}

/* Buttons wrapper sits at the bottom row naturally */
.summaryCardButtonsWrapper{
  /* remove any fixed positioning you tried */
  /* position: static; */
  border-radius: 0;
}
.summaryCardButtonsWrapper {
  position: absolute;   /* or just let grid handle it */
  bottom: 0;
  z-index: 10;
}
.cutOutParent {
    position: relative;
    margin-top: 20px;          /* tweak as you like */
}
.saved-text{
  color:var(--green);               /* your color */
  margin-bottom:8px;
  white-space:pre-wrap;        /* keep line breaks */
  word-break:break-word;       /* long words wrap */
  font-weight:600;
  font-size: 14px;
}

.cutOutParent textarea{
    padding: 5px 10px;
    margin: 20px 0;
    margin-top: 0;
    margin-bottom: 10px;
    width: 100%;
    border-radius: 5px;
    border: 1px solid var(--grayBorder);
    font-size: 14px;
    outline: none;
    box-shadow: none;
    /* resize: none; */
}
.saveKamadoTextDiv{
    display: flex;
    justify-content: end;
}
.saveKamadoTextDiv button{
    background: var(--green);
    color: var(--white);
    border: 0;
    padding: 5px 10px;
    border-radius: 7px;
    cursor: pointer;
}
.saveKamadoTextDiv button:hover{
    background: var(--darkGreen);
}
.card{
    border: 0;
}
.summaryAccordion{
    padding: 1rem;
}
#collapseOne .card.summaryCard{
    border-radius: 0 !important;
}
/* scope to your accordion if you want */
/* Center text + caret */
#summaryInsideExtrasAcc .accordion-button {
  justify-content: center;      /* centers content horizontally */
  gap: .5rem;                   /* space between text and icon */
  text-align: center;
  text-shadow: none !important;
  box-shadow: none !important;
  outline: none !important;
}
.accordion-button, input, input:focus{
    text-shadow: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Override the ::after pseudo-element */
#summaryInsideExtrasAcc .accordion-button::after {
  margin-left: 0 !important;    /* remove default auto push */
  flex: 0 0 auto;

  /* custom caret color */
  background-image: url("");
  /* background-size: 1rem; */
  width: 0;
}
#summaryInsideExtrasAcc .totalPriceWrapper{
    border: 1px solid var(--grayBorder);
    border-radius: 4px;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    display: flex;
    justify-content: space-between;
    padding: 12px 14px;
}
#summaryInsideExtrasAcc .totalPriceWrapper .totalPrice{
    color: var(--green);
}
/* .extrasCard{
    padding-bottom: 300px;
} */
.deliveryIconParent{
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    font-weight: 500;
}
#accordionPrices .accordion-item{
    border: 1px solid transparent;   /* reserve 1px */
    border-radius: 7px;
    padding: 0;
}
/* instantly applied via JS class (no delay) */
#accordionPrices .accordion-item.is-open{
  border-color: var(--grayBorder);
  /*padding: 0 10px 10px;*/
}
#accordionPrices .accordion-button{
    background: transparent;
    box-shadow: none;
    font-size: 14px;
    padding: 12px;
}
#accordionPrices .accordion-button:focus{
  box-shadow: none;
  outline: 0;
}
#accordionPrices .accordion-body{
    font-size: 14px;
}
#accordionPrices .accordion-button::after{
    margin-left: 15px;
    margin-right: 15px;
    background-size: 18px;
}
/* .summaryMainWrapper .summaryAccordion{
    max-height: 525px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
} */

/* location modal */
/* scope everything to #locationModal */
    #locationModal .modal-content {
      /* background-color: #EAECF0; */
      border: none;
      border-radius: 16px;
    }
    #locationModal .modal-header {
        border-bottom: none;
        /* justify-content: center; */
        padding-bottom: 0;
        position: relative;
    }
    #locationModal .modal-header .modal-title {
        font-weight: 600;
    }
    #locationModal .btn-close{
        position: absolute;
        top: 15px;
        right: 15px;
    }
    #locationModal .location-card {
        border: none;
        background-color: #F9FAFB;
        border-radius: 10px;
        /* box-shadow: 0 2px 8px rgba(0,0,0,.1); */
        border: 1px solid #ddd;
        align-items: center;
    }
    #locationModal .location-card img {
      border-top-left-radius: .5rem;
      border-top-right-radius: .5rem;
      width: 100%;
      height: auto;
      padding: 24px;
      max-width: 300px;
    }
    #locationModal .location-card .card-body {
      text-align: center;
      padding: 1.6rem;
      padding-top: 0;
    }
    /* #locationModal .location-card .btn {
      background-color: #748274;
      border-color: #748274;
    } */
    /* #locationModal .location-card .btn:hover {
      filter: brightness(0.95);
    } */
    #locationModal .comparison-table th,
    #locationModal .comparison-table td {
      vertical-align: middle;
      border-color: #ddd;
    }
    #locationModal .comparison-table thead th,
    #locationModal .comparison-table thead td {
        background-color: #F9FAFB;
        border: none;
    }

    #locationModal table{
        /* border: 1px solid #ddd;
        border-radius: 10px;
        border-collapse: inherit; */
         /* let border-radius work */
        border-collapse: separate;
        border-spacing: 0;
        border-radius: 10px;
        overflow: hidden;
        /* optional: give the table an outer border */
        border: 1px solid #ddd;
    }
    #locationModal .border0{
        border: 0;
    }

    /* the backdrop itself */
#locationModal-backdrop {
  position: fixed;
  inset: 0;
  background-color: rgba(0,0,0,0.6); /* your custom color/opacity */
  z-index: 1040;           /* just under bootstrap’s modal z-index (1055) */
  display: none;           /* hide until we open the modal */
}

/* make sure your dialog sits above our backdrop */
#locationModal .modal-dialog {
  position: relative;
  z-index: 1055;
}

.quoteDiv button, .locationPopupBtn{
        background-color: white;
        color: #748274;
        font-size: 16px;
        font-weight: 600;
        border: 2px solid #748274;
        outline: none;
        border-radius: 8px;
        height: 44px;
        min-width: 308px;
        transition: all 0.2s ease-in-out;
    }
    .quoteDiv button.active, .locationPopupBtn2{
        background: #748274;
        color: var(--white);
    }
    #cartModal .btn2:hover{
        /* background-color: #748274 !important;
        color: white !important; */
        color: #748274 !important;
        background: transparent;
    }
     .locationPopupBtn2:hover{
        color: #748274 !important;
        background: transparent;
     }
    .quoteDiv button:hover,.locationPopupBtn1:hover {
        background: #748274;
        color: var(--white);
    }
    .locationPopupBtn1{
        width: 239px;
        height: 36px;
    }
    .locationPopupBtn2{
        /* width: 363px; */
        width: fit-content;
        padding: 0 30px;
        height: 44px;
    }
    .calendlyBtn{
        font-weight: 700;
    }
    .location-card h6{
        font-size: 20px;
        font-weight: 600;
    }
    /* quote modal */
     :root{
      --quote-radius: 18px;
      --quote-shadow: 0 20px 50px rgba(0,0,0,.35);
      --quote-divider: #e6e8eb;
      --muted: #6c757d;
      --field-radius: 10px;
    }
    .modal.quote-modal .modal-dialog{
      max-width: 720px;
    }
    .modal.quote-modal .modal-content{
      border: 0;
      border-radius: var(--quote-radius);
      box-shadow: var(--quote-shadow);
    }
    .modal.quote-modal .modal-header{
      border-bottom: 1px solid var(--quote-divider);
      padding: 20px 24px 14px;
    }
    .modal.quote-modal .modal-title{
      font-weight: 700;
      font-size: 1.5rem;
    }
    .modal.quote-modal .subtext{
      margin-top: .25rem;
      color: var(--muted);
      font-size: .95rem;
    }
    .modal.quote-modal .btn-close{
      opacity: .6;
    }
    .modal.quote-modal .modal-body{
      padding: 18px 24px 10px;
    }
    .modal.quote-modal label{
      font-weight: 600;
      margin-bottom: .35rem;
    }
    .modal.quote-modal .form-control,
    .modal.quote-modal .form-select{
      border-radius: var(--field-radius);
      padding: .65rem .85rem;
    }
    .modal.quote-modal .input-group-text{
      /* background: #f4f6f8; */
      border: 1px solid #dfe3e8;
      border-right: 0;
      border-radius: var(--field-radius) 0 0 var(--field-radius);
      color: #6b7280;
      background: transparent;
    }
    /* .modal.quote-modal .input-group .form-control{
      border-left: 0;
      border-radius: 0 var(--field-radius) var(--field-radius) 0;
    } */
    .modal.quote-modal .modal-footer{
      border-top: 0;
      padding: 8px 24px 20px;
      gap: 12px;
      justify-content: space-between;
      display: grid;
      grid-template-columns: 1fr 1fr;
    }
    .btn-cancel{
      border: 1px solid #d7dbe0;
      background: var(--white);
      color: #111827;
      border-radius: 10px;
      padding: .65rem 1.25rem;
      font-weight: 600;
    }
    .btn-submit{
      background: var(--green);
      color: var(--white);
      border: 0;
      border-radius: 10px;
      padding: .65rem 1.25rem;
      font-weight: 700;
      /* min-width: 150px; */
    }
     .btn-submit:hover{
      background: var(--darkGreen);
    }
    /* nicer backdrop */
    .modal-backdrop.show{ opacity: .55; }
    /* style specifically for model input group */
    .model-input .input-group-text {
    background: var(--white);              /* white background */
    border: 1px solid #dfe3e8;     /* same border as input */
    border-right: 0;               /* merge with input */
    border-radius: 10px 0 0 10px;  /* left rounded only */
    padding: 0.375rem 0.75rem;     /* adjust spacing */
    display: flex;
    align-items: center;
    justify-content: center;
    }

    .model-input .input-group-text img {
    width: 18px;   /* tweak size for balance */
    height: 18px;
    display: block;
    }

    .model-input .form-control {
    border-left: 0;                  /* remove double border */
    border-radius: 0 10px 10px 0;    /* right side rounded only */
    }
    .input-group.model-input input{
        padding-left: 0 !important;
    }
    .input-group-text{
        border: 0;
    }
    .input-group input{
        margin-left: 0;
        padding-left: 0;
        border-left: 0;
    }
    .phone-input .input-group-text {
        background: var(--white);
        border: 1px solid #dfe3e8;
        border-right: 0;
        border-radius: 10px 0 0 10px;
        padding: 0;
        }

        .phone-input .form-select {
            border: none;
            border-radius: 10px 0 0 10px;
            padding: .65rem .85rem;
            min-width: 180px;
        }

        .phone-input .form-control {
            border-left: 0;
            border-radius: 0 10px 10px 0;
            padding: .65rem .85rem;
            padding-left: 0 !important;
        }
.quote-success-modal .modal-dialog{ max-width: 640px; }
.quote-success-modal .modal-content{
  border: 0;
  border-radius: 18px;
  box-shadow: 0 20px 50px rgba(0,0,0,.35);
}
.quote-success-modal .btn-close{ filter: grayscale(40%); }

.success-icon{
  width: 70px; height: 70px;
  border-radius: 999px;
  background: #e7f3ea;              /* soft green bg */
  /* box-shadow: inset 0 0 0 10px #e7f3ea, 0 0 0 6px #b7cfbc; */
  display: grid; place-items: center;
}
.success-icon img{
  /* width: 32px; height: 32px; */
  display: block;
}

.btn-success-soft{
  background: var(--green);  /* same green as previous modal */
  color: var(--white);
  border: 0; border-radius: 12px;
  box-shadow: 0 8px 16px rgba(0,0,0,.12);
  border: 2px solid transparent;
  width: fit-content;
  margin: 0 auto;
  margin-bottom: 20px !important;
}
.btn-success-soft:hover{
  background: var(--darkGreen);
}

/* container */
.share-modal .modal-dialog{ max-width:490px; }
.share-modal .modal-content{
  border:0; border-radius:18px;
  box-shadow:0 20px 50px rgba(0,0,0,.35);
}
.share-modal .btn-close{ opacity:.6; }

/* title + dividers */
.share-modal .modal-title{ font-size:1.6rem; font-weight:800; }
.share-modal .section-divider{
  border:0; border-top:1px solid #e6e8eb; margin:12px 0 16px;
}
#openDesignPopup .divider{
    margin-bottom: 5px;
}

/* input group exactly like ref */
.share-modal .share-input .form-control{
  border:1px solid #dfe3e8; border-right:0;
  border-radius:12px 0 0 12px;
  padding:.75rem 1rem;
}

.share-modal .share-input .btn{
  background:var(--white); border:1px solid #dfe3e8; border-left:0;
  border-radius:0 12px 12px 0;
  display:flex; align-items:center; justify-content:center;
  padding:0 .9rem;
}

/* footer buttons */
.btn-cancel{
  background:var(--white); color:#111827;
  border:1px solid #d7dbe0; border-radius:12px;
  padding:.8rem 1rem; font-weight:700;
}
.btn-share{
  background:var(--green); color:var(--white); border:0;
  border-radius:12px; padding:.8rem 1rem; font-weight:700;
  box-shadow:0 8px 16px rgba(0,0,0,.12);
  border: 2px solid transparent;
}
.btn-share:hover{
  background:var(--darkGreen);
}
.input-group input{
    padding-left: 0 !important;
}
.lh-base .fw-semibold{
    color: var(--gray) !important;
}
.btn-submit:hover, .btn-success-soft:hover, .btn-share:hover{
    color: #748274 !important;
    background: transparent;
    border: 2px solid #748274;
}

.btn-cancel:hover{
    background: var(--green);
    color: var(--white);
    border: 0;
}
#shareDesignModal{
    z-index: 999999999999;
}
#shareDesignModal input{
    padding-left: 1rem !important;
}
.summaryGridCol2{
    display: grid;
    grid-template-columns: 80% 20%;
}
.summaryGridCol3{
    display: grid;
    /* grid-template-columns: 45% 35% 20%; */
    grid-template-columns: 130px 130px 70px;
    grid-template-columns: 1fr 1fr 1fr;
}
.phone-input.is-invalid {
  border: 1px solid #dc3545 !important;  /* Bootstrap danger color */
  border-radius: 0.375rem;               /* match form-control */
}

.phone-input.is-invalid .form-select,
.phone-input.is-invalid .form-control {
  border: none !important;    /* remove inner borders */
  box-shadow: none !important;
}



.openDesignBtn{
    width: 100%;
    padding: 0 5px;
    height: 34px;
    border-radius: 4px;
    cursor: pointer;
    color: #000;
    font-size: 14px;
    border: 1px solid var(--grayBorder);
    background: transparent;
}
.requestQuoteBtn{
    width: 100%;
    padding: 0 12px;
    height: 34px;
    border-radius: 4px;
    border: 0;
    cursor: pointer;
    background-color: var(--green);
    color: var(--white);
    font-size: 14px;
}
.requestQuoteBtn:hover{
    background-color: var(--darkGreen);
}
.flexLi{
    display: flex;
    align-items: center;
    gap: 5px;
}
.nextedLi{
    display: grid;
    align-items: center;
    line-height: 1.2;
}
.nextedLi span{
    font-size: 12px;
}
.nextedLi span.font18{
    font-size: 18px;
    font-weight: 500;
}
.backToConfigurator{
    margin-right: 10px;
}
.dropdown-menu.show{
    min-width: 7rem;
}

/* Oval CSS */
.ovalSideImgDiv{
    padding-top: 20px;
}
.ovalSides{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    justify-content: center;
    text-align: center;
    gap: 8px;
}
.ovalSides .option{
    height: 138px;
    align-content: center;
    border: 1px solid var(--grayBorder);
    border-radius: 4px;
    background: var(--white);
}
.ovalSides .option{
    height: fit-content;
}
.ovalSides .option.active{
    border: 1px solid  var(--darkGreen);
    background: var(--lightGreen);
}
.noParentBorder{
    border: 0;
}
.menuBtn{
    cursor: pointer;
}
.shareBtn:hover, .openDesignBtn:hover, .dropdown-toggle:hover, .lengthBtn:hover, .tabBtn:hover, .moduleType .option:hover, .moduleBtn:hover, .standardShelfBtn:hover, .moduleCard .option:hover, .mobileNavCard .mt-2:hover{
    background: var(--lightGreen);
    cursor: pointer;
}
