/* ========================================= */
/* V4 - SOLID & CLEAN CONFIGURATOR           */
/* ========================================= */

.codebo-app-container {
    position: relative;
    width: 100%;
    height: calc(100vh - 100px);
    min-height: 600px;
    background: #f5f5f5;
    display: flex;
    font-family: 'Montserrat', sans-serif;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
}

/* 1. LEFT - 3D CANVAS */
.codebo-viewer-section {
    flex: 1;
    position: relative;
    background: #fdfdfd;
}
#codebo-3d-model {
    width: 100%;
    height: 100%;
    outline: none;
}
.codebo-btn-ar {
    position: absolute;
    bottom: 20px; left: 20px;
    background: #fff;
    border: 1px solid #ccc;
    padding: 8px 12px;
    border-radius: 4px;
    font-weight: 600;
    cursor: pointer;
}

/* 2. RIGHT - CONTROLS */
.codebo-controls-section {
    width: 360px;
    background: #fff;
    border-left: 1px solid #ddd;
    display: flex;
    flex-direction: column;
    z-index: 10;
}
.codebo-controls-section.hidden {
    display: none !important;
}
.controls-header {
    padding: 20px;
    border-bottom: 1px solid #eee;
    display: flex;
    align-items: center;
    gap: 15px;
    background: #fafafa;
}
.btn-back {
    background: none;
    border: none;
    color: #666;
    cursor: pointer;
    display: flex;
    align-items: center;
    font-size: 0.9rem;
}
.controls-header h3 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: #333;
}

.controls-scroll-area {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}
.control-box {
    margin-bottom: 30px;
}
.box-title {
    font-size: 0.95rem;
    font-weight: 700;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #222;
    text-transform: uppercase;
}
.box-title i {
    color: #888;
    font-size: 20px;
}

/* NUMBER INPUTS */
.input-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    padding: 10px;
    background: #f9f9f9;
    border: 1px solid #eee;
    border-radius: 6px;
}
.input-row label {
    font-weight: 600;
    color: #444;
    font-size: 0.9rem;
    margin: 0;
}
.number-input-group {
    display: flex;
    align-items: center;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: hidden;
}
.number-input-group input {
    width: 60px;
    border: none;
    text-align: center;
    padding: 6px;
    font-weight: 700;
    outline: none;
    -moz-appearance: textfield;
}
.number-input-group input::-webkit-outer-spin-button,
.number-input-group input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.number-input-group .unit {
    background: #eee;
    padding: 6px 10px;
    font-size: 0.8rem;
    font-weight: 600;
    color: #666;
    border-left: 1px solid #ccc;
}

/* MATERIALS */
.materials-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.material-item {
    display: flex;
    align-items: center;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 6px;
    cursor: pointer;
    transition: 0.2s;
}
.material-item:hover {
    background: #f5f5f5;
}
.material-item.selected {
    border-color: #000218;
    background: rgba(0, 2, 24, 0.05);
}
.mat-swatch {
    width: 40px; height: 40px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 15px;
    border: 1px solid #ccc;
}
.mat-name {
    font-weight: 600;
    font-size: 0.9rem;
}

/* FOOTER */
.controls-footer {
    padding: 20px;
    border-top: 1px solid #ddd;
    background: #fff;
}
.price-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}
.price-label {
    font-weight: 600;
    color: #666;
}
.price-val {
    font-size: 1.5rem;
    font-weight: 800;
    color: #9A633F;
}
.btn-checkout {
    width: 100%;
    background: #000218;
    color: #fff;
    border: none;
    padding: 15px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    transition: 0.2s;
}
.btn-checkout:hover { background: #0a0c2e; }

/* 3. WELCOME POPUP (Modal) */
.codebo-solid-modal {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(5px);
    z-index: 50;
    display: none;
    align-items: center;
    justify-content: center;
}
.codebo-solid-modal.active {
    display: flex;
}
.modal-box {
    background: #fff;
    width: 95%;
    max-width: 1000px;
    border-radius: 12px;
    box-shadow: 0 15px 45px rgba(0,0,0,0.2);
    overflow: hidden;
}
.modal-header {
    background: #ffffff;
    padding: 40px 40px 20px 40px;
    text-align: center;
}
.modal-header h2 {
    margin: 0;
    font-size: 2rem;
    font-weight: 800;
    color: #1a1a1a;
}
.modal-grid {
    padding: 20px 40px 40px 40px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.modal-card {
    border: 2px solid #f0f0f0;
    border-radius: 12px;
    padding: 25px 15px;
    text-align: center;
    cursor: pointer;
    background: #fff;
    transition: all 0.3s ease;
}
.modal-card:hover {
    border-color: #4a90e2;
    box-shadow: 0 10px 25px rgba(74,144,226,0.15);
    transform: translateY(-5px);
}
.card-img-wrap {
    height: 70px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.card-img-wrap img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.card-title {
    font-weight: 700;
    font-size: 1.1rem;
    color: #555;
    display: block;
}

/* 4. LOADER */
.codebo-loader {
    position: absolute;
    top: 20px; left: 20px;
    z-index: 20;
}
.codebo-loader.hidden { display: none; }
.spinner {
    width: 30px; height: 30px;
    border: 4px solid #ddd;
    border-top-color: #9A633F;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}
@keyframes spin { 100% { transform: rotate(360deg); } }

/* MOBILE */
@media (max-width: 768px) {
    .codebo-app-container { flex-direction: column; height: auto; min-height: 100vh; }
    .codebo-viewer-section { height: 50vh; width: 100%; }
    .codebo-controls-section { width: 100%; border-left: none; border-top: 1px solid #ddd; }
    
    .modal-grid {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding: 20px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .modal-grid::-webkit-scrollbar {
        display: none;
    }
    .modal-card {
        flex: 0 0 75%;
        scroll-snap-align: center;
        margin-right: 15px;
    }
}

/* Bedroom planner v10 */
#codebo-3d-canvas canvas { display: block; cursor: grab; touch-action: none; }
#codebo-3d-canvas canvas.is-dragging { cursor: grabbing; }
.codebo-room-tools { position: absolute; z-index: 25; top: 20px; right: 20px; display: flex; gap: 8px; padding: 7px; border-radius: 999px; background: rgba(255,255,255,.94); box-shadow: 0 8px 25px rgba(0,2,24,.15); backdrop-filter: blur(8px); }
.codebo-room-tools button { display: flex; min-width: 42px; height: 42px; align-items: center; justify-content: center; gap: 6px; padding: 0 12px; border: 0; border-radius: 999px; background: transparent; color: #000218; cursor: pointer; transition: .2s ease; }
.codebo-room-tools button:hover,.codebo-room-tools button.active { background: #000218; color: #fff; }
.codebo-room-tools button span { font-size: 12px; font-weight: 750; }
.codebo-room-panel { position: absolute; z-index: 30; top: 78px; right: 20px; width: min(330px,calc(100% - 40px)); padding: 20px; border: 1px solid rgba(0,2,24,.08); border-radius: 18px; background: rgba(255,255,255,.98); box-shadow: 0 18px 50px rgba(0,2,24,.2); opacity: 0; visibility: hidden; transform: translateY(-10px); transition: .25s ease; }
.codebo-room-panel.active { opacity: 1; visibility: visible; transform: none; }
.codebo-room-panel__header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; color: #000218; font-size: 17px; }
.codebo-room-panel__header button { width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; background: #f1f0ed; color: #000218; font-size: 25px; cursor: pointer; }
.codebo-room-panel label { position: relative; display: block; margin-bottom: 13px; color: #555b69; font-size: 12px; font-weight: 700; }
.codebo-room-panel label span { position: absolute; right: 12px; bottom: 13px; color: #858a96; }
.codebo-room-panel input { width: 100%; height: 46px; margin-top: 6px; padding: 0 48px 0 12px; border: 1px solid #d9dbe1; border-radius: 10px; color: #000218; font-weight: 750; }
.codebo-room-panel .btn-checkout { margin-top: 4px; border-radius: 11px; background: #000218; }
.codebo-object-toolbar { position: absolute; z-index: 24; bottom: 22px; left: 50%; display: flex; align-items: center; gap: 7px; padding: 7px 8px 7px 15px; border-radius: 999px; background: #000218; color: #fff; box-shadow: 0 10px 30px rgba(0,2,24,.28); opacity: 0; visibility: hidden; transform: translate(-50%,12px); transition: .22s ease; }
.codebo-object-toolbar.active { opacity: 1; visibility: visible; transform: translate(-50%,0); }
.codebo-object-toolbar span { margin-right: 5px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.codebo-object-toolbar button { display: flex; width: 38px; height: 38px; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.13); color: #fff; cursor: pointer; }
.codebo-object-toolbar button:hover { background: #9A633F; }
.codebo-object-toolbar i { font-size: 19px; }
@media (max-width:768px) {
    .codebo-room-tools { top: 10px; right: 10px; }
    .codebo-room-tools button { min-width: 38px; height: 38px; padding: 0 9px; }
    .codebo-room-tools button span { display: none; }
    .codebo-room-panel { top: 62px; right: 10px; width: calc(100% - 20px); }
    .codebo-object-toolbar { bottom: 12px; max-width: calc(100% - 20px); }
    .codebo-object-toolbar span { display: none; }
}

.control-box { overflow: hidden; border-radius: 12px !important; transition: border-color .25s ease,box-shadow .25s ease,transform .25s ease; }
.control-box.is-focused { border-color: #9A633F !important; box-shadow: 0 0 0 3px rgba(154,99,63,.12); transform: translateY(-2px); }
.codebo-position-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 12px 0; padding: 12px; border-radius: 10px; background: #f7f6f3; }
.codebo-position-grid label { position: relative; margin: 0; color: #606674; font-size: 10px; font-weight: 750; }
.codebo-position-grid label:last-child { grid-column: 1/-1; }
.codebo-position-grid input,.codebo-position-grid select { width: 100%; height: 38px; margin-top: 5px; padding: 0 34px 0 9px; border: 1px solid #d9dbe1; border-radius: 8px; background: #fff; color: #000218; font-size: 12px; font-weight: 750; }
.codebo-position-grid label>span { position: absolute; right: 9px; bottom: 11px; color: #8a8e99; font-size: 9px; }
.codebo-option-row { align-items: center; margin-top: 10px; padding-top: 10px; border-top: 1px dashed #e2e1dd; }
.codebo-option-row select { min-width: 130px; height: 38px; padding: 0 9px; border: 1px solid #d9dbe1; border-radius: 8px; background: #fff; color: #000218; font-size: 11px; }
.codebo-option-row input[type=checkbox] { width: 20px; height: 20px; accent-color: #000218; cursor: pointer; }
@media(max-width:768px){.codebo-object-toolbar{gap:4px;padding:6px}.codebo-object-toolbar button{width:34px;height:34px}.codebo-position-grid{grid-template-columns:1fr 1fr}}

/* Furniture catalog v42 */
.codebo-solid-modal { padding: 24px; background: rgba(0,2,24,.58); backdrop-filter: blur(10px); }
.codebo-solid-modal.active .modal-box { animation: codeboCatalogIn .38s cubic-bezier(.22,.61,.36,1) both; }
.modal-box { width: min(1060px,96vw); max-height: calc(100vh - 48px); overflow-y: auto; border: 1px solid rgba(255,255,255,.45); border-radius: 22px; box-shadow: 0 28px 80px rgba(0,2,24,.28); scrollbar-width: thin; }
.modal-header { display: block !important; padding: 34px 38px 12px; text-align: left; border: 0; }
.modal-header h2 { color: #000218; font-size: clamp(25px,3vw,38px); line-height: 1.1; letter-spacing: -.035em; }
.codebo-catalog-heading { margin-bottom: 8px; }
.codebo-catalog-eyebrow { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: #f1f0ed; color: #6f7480; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.codebo-catalog-tools { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 38px 14px; }
.codebo-catalog-search { display: flex; width: min(330px,100%); height: 46px; align-items: center; gap: 9px; padding: 0 14px; border: 1px solid #dddfe4; border-radius: 12px; background: #fff; transition: border-color .2s ease,box-shadow .2s ease; }
.codebo-catalog-search:focus-within { border-color: #000218; box-shadow: 0 0 0 3px rgba(0,2,24,.07); }
.codebo-catalog-search i { color: #777d8a; font-size: 20px; }
.codebo-catalog-search input { width: 100%; border: 0; outline: 0; background: transparent; color: #000218; font-size: 13px; }
.codebo-catalog-filters { display: flex; gap: 7px; overflow-x: auto; scrollbar-width: none; }
.codebo-catalog-filters button { height: 38px; padding: 0 14px; border: 1px solid #dedfe3; border-radius: 999px; background: #fff; color: #555b69; font-size: 11px; font-weight: 750; white-space: nowrap; cursor: pointer; transition: .2s ease; }
.codebo-catalog-filters button:hover,.codebo-catalog-filters button.active { border-color: #000218; background: #000218; color: #fff; }
.modal-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; padding: 8px 38px 36px; }
.modal-card { position: relative; display: flex; min-height: 210px; flex-direction: column; align-items: flex-start; padding: 20px; overflow: hidden; border: 1px solid #e3e3e0; border-radius: 16px; background: linear-gradient(145deg,#fff 0%,#f7f6f3 100%); text-align: left; isolation: isolate; transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.modal-card:before { position: absolute; z-index: -1; top: -45px; right: -45px; width: 125px; height: 125px; border-radius: 50%; background: rgba(154,99,63,.055); content: ''; transition: transform .35s ease,background .35s ease; }
.modal-card:hover { border-color: rgba(0,2,24,.28); box-shadow: 0 16px 34px rgba(0,2,24,.12); transform: translateY(-5px); }
.modal-card:hover:before { background: rgba(154,99,63,.11); transform: scale(1.35); }
.modal-card.is-filtered-out { display: none; }
.modal-card.is-choosing { border-color: #25a760; transform: scale(.97); }
.card-img-wrap { display: flex; width: 62px; height: 62px; align-items: center; justify-content: center; margin: 0 0 18px; border-radius: 16px; background: #000218; color: #fff; box-shadow: 0 9px 20px rgba(0,2,24,.18); transition: transform .25s ease,background .25s ease; }
.card-img-wrap i.material-icons { color: #fff !important; font-size: 31px !important; }
.modal-card:hover .card-img-wrap { background: #9A633F; transform: rotate(-3deg) scale(1.05); }
.card-title { color: #000218; font-size: 15px; font-weight: 800; line-height: 1.25; }
.card-description { display: block; margin-top: 7px; padding-right: 22px; color: #747985; font-size: 10px; line-height: 1.45; }
.card-arrow { position: absolute; right: 16px; bottom: 16px; display: flex; width: 30px; height: 30px; align-items: center; justify-content: center; border-radius: 50%; background: #fff; color: #000218; box-shadow: 0 5px 14px rgba(0,2,24,.1); transition: .2s ease; }
.card-arrow i { font-size: 16px; }
.modal-card:hover .card-arrow { background: #000218; color: #fff; transform: translateX(2px); }
.codebo-catalog-empty { display: none; margin: 20px 38px 38px; padding: 24px; border-radius: 14px; background: #f7f6f3; color: #686e7b; text-align: center; font-size: 13px; }
.codebo-catalog-empty.active { display: block; }
@keyframes codeboCatalogIn { from { opacity: 0; transform: translateY(16px) scale(.985); } to { opacity: 1; transform: none; } }
@media(max-width:900px){.modal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.codebo-catalog-tools{align-items:stretch;flex-direction:column}.codebo-catalog-search{width:100%}}
@media(max-width:600px){.codebo-solid-modal{align-items:flex-start;padding:10px}.modal-box{width:100%;max-height:calc(100vh - 20px);border-radius:17px}.modal-header{padding:24px 20px 10px}.codebo-catalog-tools{padding:8px 20px 12px}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:6px 20px 24px;overflow:visible}.modal-card{min-height:175px;padding:15px}.card-img-wrap{width:52px;height:52px;margin-bottom:14px}.card-img-wrap i.material-icons{font-size:27px!important}.card-description{font-size:9px}.codebo-catalog-filters{width:100%}.codebo-catalog-empty{margin:15px 20px 25px}}

/* IKEA-like project feedback v44 */
#btn-project-summary{position:relative}#btn-project-summary b{display:flex;min-width:18px;height:18px;align-items:center;justify-content:center;padding:0 5px;border-radius:999px;background:#9A633F;color:#fff;font-size:9px}.codebo-empty-scene{position:absolute;z-index:8;top:50%;left:50%;display:none;width:min(380px,calc(100% - 40px));flex-direction:column;align-items:center;padding:28px;border:1px solid rgba(0,2,24,.08);border-radius:20px;background:rgba(255,255,255,.92);text-align:center;box-shadow:0 15px 45px rgba(0,2,24,.1);transform:translate(-50%,-50%);backdrop-filter:blur(8px)}.codebo-empty-scene.active{display:flex}.codebo-empty-scene>span{display:flex;width:58px;height:58px;align-items:center;justify-content:center;margin-bottom:14px;border-radius:18px;background:#000218;color:#fff}.codebo-empty-scene>span i{font-size:29px}.codebo-empty-scene strong{color:#000218;font-size:20px}.codebo-empty-scene p{margin:8px 0 18px;color:#707582;font-size:12px;line-height:1.55}.codebo-empty-scene button{min-height:42px;padding:0 17px;border:0;border-radius:999px;background:#9A633F;color:#fff;font-size:11px;font-weight:780;cursor:pointer}.codebo-collision-alert{position:absolute;z-index:35;top:88px;left:50%;display:flex;align-items:center;gap:8px;padding:10px 15px;border-radius:999px;background:#9A633F;color:#fff;font-size:11px;font-weight:750;opacity:0;visibility:hidden;box-shadow:0 9px 25px rgba(154,99,63,.3);transform:translate(-50%,-8px);transition:.2s ease}.codebo-collision-alert.active{opacity:1;visibility:visible;transform:translate(-50%,0)}.codebo-collision-alert i{font-size:18px}.codebo-project-panel{position:absolute;z-index:40;top:0;right:0;display:flex;width:min(390px,100%);height:100%;flex-direction:column;background:#fff;box-shadow:-18px 0 50px rgba(0,2,24,.18);visibility:hidden;transform:translateX(105%);transition:transform .32s cubic-bezier(.22,.61,.36,1),visibility .32s}.codebo-project-panel.active{visibility:visible;transform:none}.codebo-project-panel__header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid #e7e6e2}.codebo-project-panel__header>div{display:flex;flex-direction:column}.codebo-project-panel__header span{color:#858a96;font-size:9px;font-weight:800;letter-spacing:.12em}.codebo-project-panel__header strong{margin-top:4px;color:#000218;font-size:20px}.codebo-project-panel__header button{display:flex;width:38px;height:38px;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;background:#f1f0ed;color:#000218;font-size:26px;cursor:pointer}.codebo-project-items{flex:1;padding:14px;overflow-y:auto;background:#f7f6f3}.codebo-project-item{position:relative;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;margin-bottom:10px;padding:14px 46px 14px 12px;border:1px solid #e3e2de;border-radius:13px;background:#fff;box-shadow:0 6px 18px rgba(0,2,24,.04)}.codebo-project-item__number{display:flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:9px;background:#000218;color:#fff;font-size:11px;font-weight:800}.codebo-project-item>div{display:flex;min-width:0;flex-direction:column}.codebo-project-item>div strong{overflow:hidden;color:#000218;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.codebo-project-item>div span,.codebo-project-item>div small{margin-top:3px;color:#7d828e;font-size:9px}.codebo-project-item>b{color:#9A633F;font-size:11px;white-space:nowrap}.codebo-summary-edit{position:absolute;right:10px;display:flex;width:30px;height:30px;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;background:#f1f0ed;color:#000218;cursor:pointer}.codebo-summary-edit i{font-size:16px}.codebo-project-panel__footer{display:flex;align-items:center;justify-content:space-between;padding:21px 24px;border-top:1px solid #e7e6e2;background:#fff}.codebo-project-panel__footer span{color:#656b78;font-size:11px;font-weight:700}.codebo-project-panel__footer strong{color:#9A633F;font-size:20px}.codebo-project-panel__footer strong span{color:inherit;font-size:inherit}.codebo-project-empty{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;color:#777d8a;text-align:center}.codebo-project-empty i{font-size:42px}.codebo-project-empty strong{margin-top:10px;color:#000218}.codebo-project-empty span{margin-top:5px;font-size:11px}@media(max-width:768px){.codebo-collision-alert{top:62px;max-width:calc(100% - 20px);white-space:nowrap}.codebo-project-panel{position:fixed;height:100dvh}.codebo-room-tools #btn-project-summary span{display:none}}

/* Saved project prompt integrated into the furniture catalog v45 */
.codebo-saved-project{display:none;align-items:center;gap:16px;margin:4px 38px 15px;padding:16px 18px;border:1px solid rgba(0,2,24,.12);border-radius:16px;background:linear-gradient(135deg,#f7f8ff 0%,#fff 58%,#fff4f5 100%);box-shadow:0 10px 28px rgba(0,2,24,.08)}
.codebo-saved-project.active{display:flex;animation:codeboSavedProjectIn .35s cubic-bezier(.22,.61,.36,1) both}
.codebo-saved-project__icon{display:flex;flex:0 0 48px;width:48px;height:48px;align-items:center;justify-content:center;border-radius:14px;background:#000218;color:#fff;box-shadow:0 9px 20px rgba(0,2,24,.18)}
.codebo-saved-project__icon .material-icons{font-size:24px}.codebo-saved-project__content{display:flex;min-width:0;flex:1;flex-direction:column}.codebo-saved-project__eyebrow{margin-bottom:2px;color:#9A633F;font-size:9px;font-weight:800;letter-spacing:.13em}.codebo-saved-project__content strong{color:#000218;font-size:16px;line-height:1.25}.codebo-saved-project__content p{margin:4px 0 0;color:#747886;font-size:11px;line-height:1.45}.codebo-saved-project__actions{display:flex;flex:0 0 auto;gap:8px}.codebo-saved-project__actions button{display:inline-flex;height:40px;align-items:center;justify-content:center;padding:0 15px;border-radius:11px;font-size:11px;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.codebo-saved-project__restore{gap:6px;border:0;background:#000218;color:#fff;box-shadow:0 7px 16px rgba(0,2,24,.16)}.codebo-saved-project__restore .material-icons{font-size:17px}.codebo-saved-project__restore:hover{background:#9A633F;transform:translateY(-1px)}.codebo-saved-project__new{border:1px solid #d9dbe3;background:#fff;color:#000218}.codebo-saved-project__new:hover{border-color:#000218;transform:translateY(-1px)}
@keyframes codeboSavedProjectIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.codebo-saved-project{align-items:flex-start;flex-wrap:wrap;margin:4px 20px 14px}.codebo-saved-project__content{flex-basis:calc(100% - 66px)}.codebo-saved-project__actions{width:100%;padding-left:64px}}
@media(max-width:520px){.codebo-saved-project{gap:12px;padding:14px}.codebo-saved-project__icon{flex-basis:42px;width:42px;height:42px}.codebo-saved-project__content{flex-basis:calc(100% - 54px)}.codebo-saved-project__actions{padding-left:0}.codebo-saved-project__actions button{flex:1;padding:0 9px}.codebo-saved-project__restore .material-icons{display:none}}

/* Multi-room selector v46 */
.codebo-room-choice{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:2px 38px 16px}
.codebo-room-choice button{display:flex;min-width:0;min-height:68px;align-items:center;gap:11px;padding:11px 13px;border:1px solid #dedfe5;border-radius:14px;background:#fff;color:#000218;text-align:left;cursor:pointer;transition:border-color .22s ease,background-color .22s ease,box-shadow .22s ease,transform .22s ease}
.codebo-room-choice button>i{display:flex;flex:0 0 38px;width:38px;height:38px;align-items:center;justify-content:center;border-radius:11px;background:#f1f1f4;font-size:20px;transition:.22s ease}.codebo-room-choice button>span{display:flex;min-width:0;flex-direction:column}.codebo-room-choice button strong{font-size:12px;line-height:1.25}.codebo-room-choice button small{margin-top:3px;overflow:hidden;color:#858996;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.codebo-room-choice button:hover{border-color:rgba(0,2,24,.35);box-shadow:0 8px 20px rgba(0,2,24,.08);transform:translateY(-2px)}.codebo-room-choice button.active{border-color:#000218;background:#000218;color:#fff;box-shadow:0 10px 24px rgba(0,2,24,.18)}.codebo-room-choice button.active>i{background:#9A633F;color:#fff}.codebo-room-choice button.active small{color:rgba(255,255,255,.7)}
@media(max-width:800px){.codebo-room-choice{grid-template-columns:1fr 1fr;margin-right:20px;margin-left:20px}}
@media(max-width:480px){.codebo-room-choice{gap:7px}.codebo-room-choice button{min-height:58px;padding:9px}.codebo-room-choice button>i{flex-basis:32px;width:32px;height:32px;font-size:18px}.codebo-room-choice button small{display:none}}

/* Detailed wardrobe configurator v47 */
.codebo-wardrobe-section{margin:15px -3px 0;padding:14px;border:1px solid #e1e2e7;border-radius:14px;background:linear-gradient(145deg,#fff,#f8f8fa)}.codebo-wardrobe-section__title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.codebo-wardrobe-section__title>i{display:flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:10px;background:#000218;color:#fff;font-size:19px}.codebo-wardrobe-section__title>span{display:flex;flex-direction:column}.codebo-wardrobe-section__title strong{color:#000218;font-size:12px}.codebo-wardrobe-section__title small{margin-top:2px;color:#858a96;font-size:9px}.codebo-wardrobe-section .input-row{margin-top:0!important;padding:10px 0!important;border-top:1px dashed #e2e3e8!important}.codebo-wardrobe-section .input-row:first-of-type{border-top:0!important}.codebo-wardrobe-section select{width:100%!important;min-height:38px;margin-top:6px!important;padding:5px 9px!important;border:1px solid #d9dbe1!important;border-radius:9px!important;background:#fff;color:#000218}.codebo-wardrobe-section .codebo-option-row input[type=checkbox]{width:20px;height:20px;accent-color:#9A633F}

/* Animated furniture doors v48 */
.codebo-door-toggle{display:grid;width:100%;grid-template-columns:38px 1fr;align-items:center;column-gap:10px;margin-top:14px;padding:11px 13px;border:1px solid rgba(0,2,24,.14);border-radius:12px;background:#000218;color:#fff;text-align:left;cursor:pointer;box-shadow:0 8px 20px rgba(0,2,24,.13);transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.codebo-door-toggle>i{display:flex;grid-row:1/3;width:38px;height:38px;align-items:center;justify-content:center;border-radius:10px;background:rgba(255,255,255,.12);font-size:20px}.codebo-door-toggle>span{align-self:end;font-size:12px;font-weight:800}.codebo-door-toggle>small{align-self:start;margin-top:2px;color:rgba(255,255,255,.67);font-size:9px}.codebo-door-toggle:hover{background:#9A633F;box-shadow:0 10px 24px rgba(154,99,63,.22);transform:translateY(-1px)}.codebo-door-toggle.is-open{border-color:#d9dbe1;background:#fff;color:#000218;box-shadow:none}.codebo-door-toggle.is-open>i{background:#f0f1f4}.codebo-door-toggle.is-open>small{color:#858a96}
