.elementor-2787 .elementor-element.elementor-element-c763819{--display:flex;--overlay-opacity:0.5;}.elementor-2787 .elementor-element.elementor-element-c763819::before, .elementor-2787 .elementor-element.elementor-element-c763819 > .elementor-background-video-container::before, .elementor-2787 .elementor-element.elementor-element-c763819 > .e-con-inner > .elementor-background-video-container::before, .elementor-2787 .elementor-element.elementor-element-c763819 > .elementor-background-slideshow::before, .elementor-2787 .elementor-element.elementor-element-c763819 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2787 .elementor-element.elementor-element-c763819 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-775ad61 );--background-overlay:'';}.elementor-2787 .elementor-element.elementor-element-c763819.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2787 .elementor-element.elementor-element-eb8670f{--spacer-size:62px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-2787 .elementor-element.elementor-element-0f27f06{text-align:center;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-2787 .elementor-element.elementor-element-a6be0d2{text-align:center;}.elementor-2787 .elementor-element.elementor-element-ae0a72d{--display:grid;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--overlay-opacity:0.5;}.elementor-2787 .elementor-element.elementor-element-ae0a72d::before, .elementor-2787 .elementor-element.elementor-element-ae0a72d > .elementor-background-video-container::before, .elementor-2787 .elementor-element.elementor-element-ae0a72d > .e-con-inner > .elementor-background-video-container::before, .elementor-2787 .elementor-element.elementor-element-ae0a72d > .elementor-background-slideshow::before, .elementor-2787 .elementor-element.elementor-element-ae0a72d > .e-con-inner > .elementor-background-slideshow::before, .elementor-2787 .elementor-element.elementor-element-ae0a72d > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-775ad61 );--background-overlay:'';}.elementor-2787 .elementor-element.elementor-element-ae0a72d.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2787 .elementor-element.elementor-element-448a941{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-2787 .elementor-element.elementor-element-26f36b6{--display:flex;--justify-content:center;--border-radius:8px 8px 8px 8px;}.elementor-2787 .elementor-element.elementor-element-26f36b6:not(.elementor-motion-effects-element-type-background), .elementor-2787 .elementor-element.elementor-element-26f36b6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-2787 .elementor-element.elementor-element-dc2faa1{text-align:center;}.elementor-2787 .elementor-element.elementor-element-dc2faa1 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:24px;font-weight:600;line-height:1.3em;color:var( --e-global-color-6b8c60b );}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-2787 .elementor-element.elementor-element-cb2544b .elementor-icon-wrapper{text-align:center;}.elementor-2787 .elementor-element.elementor-element-cb2544b .elementor-icon{font-size:33px;}.elementor-2787 .elementor-element.elementor-element-cb2544b .elementor-icon svg{height:33px;}.elementor-2787 .elementor-element.elementor-element-fc85213{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-2787 .elementor-element.elementor-element-ca1ece9{--display:flex;--justify-content:center;--border-radius:8px 8px 8px 8px;}.elementor-2787 .elementor-element.elementor-element-ca1ece9:not(.elementor-motion-effects-element-type-background), .elementor-2787 .elementor-element.elementor-element-ca1ece9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-2787 .elementor-element.elementor-element-2bfb388{text-align:center;}.elementor-2787 .elementor-element.elementor-element-2bfb388 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:24px;font-weight:600;line-height:1.3em;color:var( --e-global-color-6b8c60b );}.elementor-2787 .elementor-element.elementor-element-acfc72c .elementor-icon-wrapper{text-align:center;}.elementor-2787 .elementor-element.elementor-element-acfc72c .elementor-icon{font-size:33px;}.elementor-2787 .elementor-element.elementor-element-acfc72c .elementor-icon svg{height:33px;}.elementor-2787 .elementor-element.elementor-element-c8752e7{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-2787 .elementor-element.elementor-element-4a40cef{--display:flex;--justify-content:center;--border-radius:8px 8px 8px 8px;}.elementor-2787 .elementor-element.elementor-element-4a40cef:not(.elementor-motion-effects-element-type-background), .elementor-2787 .elementor-element.elementor-element-4a40cef > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-2787 .elementor-element.elementor-element-c048477{text-align:center;}.elementor-2787 .elementor-element.elementor-element-c048477 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:24px;font-weight:600;line-height:1.3em;color:var( --e-global-color-6b8c60b );}.elementor-2787 .elementor-element.elementor-element-fe5b6ba .elementor-icon-wrapper{text-align:center;}.elementor-2787 .elementor-element.elementor-element-fe5b6ba .elementor-icon{font-size:33px;}.elementor-2787 .elementor-element.elementor-element-fe5b6ba .elementor-icon svg{height:33px;}.elementor-2787 .elementor-element.elementor-element-84e27a8{--display:flex;}.elementor-2787 .elementor-element.elementor-element-a9e351c{--display:flex;--justify-content:center;--border-radius:8px 8px 8px 8px;}.elementor-2787 .elementor-element.elementor-element-a9e351c:not(.elementor-motion-effects-element-type-background), .elementor-2787 .elementor-element.elementor-element-a9e351c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-2787 .elementor-element.elementor-element-8bea986{text-align:center;}.elementor-2787 .elementor-element.elementor-element-8bea986 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:24px;font-weight:600;line-height:1.3em;color:var( --e-global-color-6b8c60b );}.elementor-2787 .elementor-element.elementor-element-2a4c673{--display:flex;--overlay-opacity:0.5;}.elementor-2787 .elementor-element.elementor-element-2a4c673::before, .elementor-2787 .elementor-element.elementor-element-2a4c673 > .elementor-background-video-container::before, .elementor-2787 .elementor-element.elementor-element-2a4c673 > .e-con-inner > .elementor-background-video-container::before, .elementor-2787 .elementor-element.elementor-element-2a4c673 > .elementor-background-slideshow::before, .elementor-2787 .elementor-element.elementor-element-2a4c673 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2787 .elementor-element.elementor-element-2a4c673 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-775ad61 );--background-overlay:'';}.elementor-2787 .elementor-element.elementor-element-2a4c673.e-con{--flex-grow:0;--flex-shrink:0;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-text-editor{line-height:var( --e-global-typography-text-line-height );}.elementor-2787 .elementor-element.elementor-element-ae0a72d{--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--gap:16px 8px;--row-gap:16px;--column-gap:8px;--grid-auto-flow:row;}.elementor-2787 .elementor-element.elementor-element-26f36b6{--min-height:4em;}.elementor-2787 .elementor-element.elementor-element-ca1ece9{--min-height:4em;}.elementor-2787 .elementor-element.elementor-element-4a40cef{--min-height:4em;}.elementor-2787 .elementor-element.elementor-element-84e27a8{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-2787 .elementor-element.elementor-element-a9e351c{--min-height:4em;}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-text-editor{line-height:var( --e-global-typography-text-line-height );}.elementor-2787 .elementor-element.elementor-element-ae0a72d{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-2787 .elementor-element.elementor-element-448a941{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2787 .elementor-element.elementor-element-cb2544b{--e-transform-rotateZ:90deg;}.elementor-2787 .elementor-element.elementor-element-fc85213{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2787 .elementor-element.elementor-element-acfc72c{--e-transform-rotateZ:90deg;}.elementor-2787 .elementor-element.elementor-element-c8752e7{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2787 .elementor-element.elementor-element-fe5b6ba{--e-transform-rotateZ:90deg;}}/* Start custom CSS for container, class: .elementor-element-c763819 */@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@400;500;700&family=Noto+Sans+TC:wght@300;400;500&display=swap');
.hidden {display:none}
.unit-price{ margin:0.5rem;}
 .form-wrap{max-width:1000px;margin:0 auto;padding:2rem 1rem 3rem;}
 .header{text-align:center;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:0.5px solid var(--color-border-tertiary);}
  .header-tag{font-size:11px;letter-spacing:.2em;color:#BA7517;background:#FAEEDA;padding:4px 12px;border-radius:20px;display:inline-block;margin-bottom:.75rem;}
  .header h1{font-size:26px;font-weight:700;color:var(--color-text-primary);margin:0 0 .4rem;}
  .header p{font-size:13px;color:var(--color-text-secondary);margin:0;line-height:1.6;}
  .section{
      background:white;
      border:0.5px solid var(--color-border-tertiary);
      border-radius:0.25rem;padding:1.5rem;margin-bottom:1rem;position:relative;overflow:hidden;}
  .section::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;}
  .ceiling::before{background:#EF9F27;} .floor::before{background:#1D9E75;} .wall::before{background:#378ADD;}
  .wall-design::before{background:#9B6DCA;} .curtain::before{background:#D4556A;} .cabinet::before{background:#3AACA8;}
  .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
  .section-icon{display:flex;align-items:center;gap:10px;}
.icon-box{
    width:62px;height:62px;
    border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .ceiling .icon-box{background:#FAEEDA;} .floor .icon-box{background:#E1F5EE;} .wall .icon-box{background:#E6F1FB;}
  .wall-design .icon-box{background:#F0EAFA;} .curtain .icon-box{background:#FAEAED;} .cabinet .icon-box{background:#E0F5F4;}
.icon-box svg{width:24px;height:24px;}
.section-title{
    font-size:20px;
    font-weight:500;color:var(--color-text-primary);margin:0;}
  .section-subtitle{font-size:12px;color:var(--color-text-secondary);}
  .unit-price{font-size:12px;padding:3px 10px;border-radius:20px;font-weight:500;white-space:nowrap;}
  .ceiling .unit-price{background:#FAEEDA;color:#854F0B;} .floor .unit-price{background:#E1F5EE;color:#0F6E56;}
  .wall .unit-price{background:#E6F1FB;color:#185FA5;} .wall-design .unit-price{background:#F0EAFA;color:#5B2D8E;}
  .curtain .unit-price{background:#FAEAED;color:#8C1D2F;}
  .preview-area{width:100%;border-radius:var(--border-radius-md);border:0.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);margin-bottom:1rem;overflow:hidden;position:relative;}
  .preview-area img{position:static;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .28s ease;}
  .preview-area img.hidden{opacity:0;pointer-events:none;} .preview-area img.visible{opacity:1;}
  .type-toggle{display:flex;gap:6px;margin-bottom:1rem;flex-wrap:wrap;}
  .type-btn{flex:1;min-width:0;padding:8px 10px;border-radius:var(--border-radius-md);border:1.5px solid var(--color-border-secondary);background:var(--color-background-secondary);cursor:pointer;
  font-size:16px;color:var(--color-text-secondary);
  text-align:center;outline:none;transition:all .15s;-webkit-tap-highlight-color:transparent;}
  .type-btn:focus-visible{outline:2px solid #378ADD;outline-offset:2px;}
  .type-btn .btn-price{display:block;font-size:11px;margin-top:2px;opacity:.8;}
  .active-amber   {background:#FAEEDA!important;border-color:#EF9F27!important;border-width:2px!important;color:#633806!important;font-weight:500!important;}
  .active-gray    {background:#FAEEDA!important;border-color:#EF9F27!important;border-width:2px!important;color:#2C2C2A!important;font-weight:500!important;}
  .active-teal-lo {background:#E1F5EE!important;border-color:#5DCAA5!important;border-width:2px!important;color:#085041!important;font-weight:500!important;}
  .active-teal-mid{background:#9FE1CB!important;border-color:#1D9E75!important;border-width:2px!important;color:#04342C!important;font-weight:500!important;}
  .active-teal-hi {background:#5DCAA5!important;border-color:#0F6E56!important;border-width:2px!important;color:#04342C!important;font-weight:500!important;}
  .active-blue-hi {background:#B5D4F4!important;border-color:#378ADD!important;border-width:2px!important;color:#042C53!important;font-weight:500!important;}
  .active-blue-lo {background:#E6F1FB!important;border-color:#85B7EB!important;border-width:2px!important;color:#0C447C!important;font-weight:500!important;}
  .active-purple  {background:#E8D8F8!important;border-color:#9B6DCA!important;border-width:2px!important;color:#3D1070!important;font-weight:500!important;}
  .active-rose    {background:#FAEAED!important;border-color:#D4556A!important;border-width:2px!important;color:#8C1D2F!important;font-weight:500!important;}
  .input-row{display:flex;align-items:center;gap:12px;} .input-row input{flex:1;}
  .ping-label{font-size:14px;color:var(--color-text-secondary);white-space:nowrap;}
  .subtotal-display{text-align:right;}
  .subtotal-label{font-size:11px;color:var(--color-text-secondary);}
  .subtotal-val{font-size:18px;font-weight:500;color:var(--color-text-primary);}
  .empty-hint{font-size:20px;color:var(--color-border-tertiary);}
  .curtain-input-group{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
  .curtain-input-group input{flex:1;min-width:0;}
  .curtain-input-group .dim-label{font-size:13px;color:var(--color-text-secondary);white-space:nowrap;}
  .curtain-input-group .dim-sep{font-size:16px;color:var(--color-text-secondary);padding:0 2px;}
  .curtain-calc-row{display:flex;align-items:center;justify-content:space-between;}
  .curtain-tai{font-size:13px;color:var(--color-text-secondary);}
  .curtain-tai span{font-weight:500;color:var(--color-text-primary);}
  
  /* 窗簾 */
  .cabinet-add-btns{display:flex;gap:6px;flex-wrap:wrap;}
  .cabinet-add-btn{padding:7px 14px;border-radius:var(--border-radius-md);border:1.5px dashed var(--color-border-secondary);background:var(--color-background-secondary);cursor:pointer;font-size:13px;color:var(--color-text-secondary);outline:none;transition:all .15s;white-space:nowrap;-webkit-tap-highlight-color:transparent;}
  .cabinet-add-btn:hover{border-color:#3AACA8;color:#1A6E6C;background:#E0F5F4;}
  .cabinet-add-btn.curtain-add-btn:hover{border-color:#D4556A;color:#8C1D2F;background:#FAEAED;}
  .cabinet-add-btn:focus-visible{outline:2px solid #3AACA8;outline-offset:2px;}
  .cabinet-items{margin-top:1rem;display:flex;flex-direction:column;gap:10px;}
  .cabinet-item{
      background: var(--e-global-color-6e12945);;
      border-radius:8px;
      padding:12px 14px;animation:fadeIn .2s ease;}
  
  @keyframes fadeIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}
  .cabinet-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
  .cabinet-item-label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .cabinet-item-label .item-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
  .cabinet-item-label .item-dot.teal{background:#3AACA8;} .cabinet-item-label .item-dot.rose{background:#D4556A;}
  .cabinet-item-label .item-name{font-size:14px;font-weight:500;color:var(--color-text-primary);}
.cabinet-item-label .item-idx{font-size:11px;color:#1A6E6C;margin-left:2px;}
  .remove-btn{width:24px;height:24px;border-radius:50%;border:0.5px solid var(--color-border-secondary);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:14px;line-height:1;padding:0;outline:none;flex-shrink:0;}
  .remove-btn:hover{background:#FAEAED;border-color:#D4556A;color:#D4556A;}
  .cabinet-item-inputs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .cabinet-item-inputs input,.cabinet-item-inputs select{flex:1;min-width:0;}
  .cabinet-item-inputs .dim-label{font-size:13px;color:var(--color-text-secondary);white-space:nowrap;}
  .cabinet-item-inputs .dim-sep{font-size:14px;color:var(--color-text-secondary);}
  .wardrobe-inputs{display:flex;align-items:center;gap:8px;}
  .wardrobe-inputs select{flex:1;min-width:0;padding:8px 10px;border-radius:var(--border-radius-md);border:0.5px solid var(--color-border-secondary);background:var(--color-background-primary);font-size:13px;color:var(--color-text-primary);outline:none;cursor:pointer;}
  .wardrobe-inputs select:focus{border-color:#3AACA8;}
  .wardrobe-inputs .dim-label{font-size:13px;color:var(--color-text-secondary);white-space:nowrap;}
  .wardrobe-inputs .dim-sep{font-size:14px;color:var(--color-text-secondary);}
  .wardrobe-fixed{font-size:12px;color:var(--color-text-secondary);margin-top:6px;padding:4px 8px;background:var(--color-background-primary);border-radius:var(--border-radius-md);display:inline-block;}
  .cabinet-item-price{display:flex;align-items:center;justify-content:flex-end;margin-top:8px;gap:8px;}
  .cabinet-item-price .price-label{font-size:11px;color:var(--color-text-secondary);}
  .cabinet-item-price .price-val{font-size:15px;font-weight:500;color:var(--color-text-primary);}
  .cabinet-empty{font-size:13px;color:var(--color-text-secondary);text-align:center;padding:1rem 0;opacity:.6;}
  
  /* 窗簾項目 */
.curtain .cabinet-item-label .item-idx{color:#8C1D2F;}
  .curtain-dim-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;}
  .curtain-dim-row .dim-field{display:flex;flex-direction:column;flex:1;min-width:0;}
  .curtain-dim-row .dim-label{font-size:13px;color:var(--color-text-secondary);white-space:nowrap;padding-top:9px;}
  .curtain-dim-row .dim-sep{font-size:14px;color:var(--color-text-secondary);padding-top:9px;}
  .curtain-dim-row input{width:100%;}
  
  /* 尺寸範圍提示 */
  .dim-hint{font-size:11px;margin-top:3px;min-height:16px;}
  .dim-hint.ok{color:var(--color-text-secondary);opacity:.6;}
  .dim-hint.err{color:#D4556A;font-weight:500;}
  
  /* input 超出範圍時邊框變紅 */
  input.out-of-range{border-color:#D4556A!important;background:#FFF5F6!important;}
  .curtain-tai-row{display:flex;align-items:center;justify-content:space-between;}
  .curtain-tai-info{font-size:12px;color:var(--color-text-secondary);}
  .curtain-tai-info span{font-weight:500;color:var(--color-text-primary);}
  .total-card{background:var(--color-background-secondary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:1.5rem;margin-top:1.5rem;}
  .breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:1.25rem;}
  .breakdown-item{background:white;border-radius:var(--border-radius-md);padding:.75rem;text-align:center;border:0.5px solid var(--color-border-tertiary);}
  .breakdown-name{font-size:18px;color:var(--color-text-secondary);margin-bottom:2px;}
  .breakdown-type{font-size:10px;color:var(--color-text-secondary);margin-bottom:4px;opacity:.7;min-height:14px;}
  .breakdown-amount{font-size:13px;font-weight:500;}
  .total-row{display:flex;align-items:baseline;justify-content:space-between;padding-top:1rem;border-top:0.5px solid var(--color-border-tertiary);}
  .total-label{font-size:15px;color:var(--color-text-secondary);}
  .total-amount{font-size:28px;font-weight:700;color:#854F0B;}
  .total-unit{font-size:13px;color:var(--color-text-secondary);margin-left:4px;}
  .note{font-size:12px;color:var(--color-text-secondary);text-align:center;margin-top:1rem;padding:.75rem;background:var(--color-background-secondary);border-radius:var(--border-radius-md);}
  .reset-btn{font-size:13px;color:var(--color-text-secondary);background:none;border:0.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);padding:6px 14px;cursor:pointer;margin-top:.75rem;display:block;margin-left:auto;}
  .reset-btn:hover{background:var(--color-background-secondary);}
  .quote-btn{width:100%;margin-top:1rem;padding:12px;background:#BA7517;border:none;border-radius:var(--border-radius-lg);color:#fff;font-family:'Noto Sans TC',sans-serif;font-size:15px;font-weight:500;cursor:pointer;outline:none;}
  .quote-btn:hover{background:#854F0B;}
  
  /* ===== 顏色預覽彈出視窗 ===== */
 .color-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;z-index:1000;padding:1rem;}
  .color-modal-overlay.open{display:flex;}
  .color-modal{
      background:white;
      border-radius:8px;
      max-width:380px;
      width:100%;overflow:hidden;}
  .color-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.1rem;border-bottom:0.5px solid var(--color-border-tertiary);}
  .color-modal-header h3{margin:0;font-size:15px;font-weight:500;}
  .color-modal-close{width:26px;height:26px;border-radius:50%;border:0.5px solid var(--color-border-secondary);background:none;cursor:pointer;font-size:15px;color:var(--color-text-secondary);outline:none;}
  .color-modal-close:hover{background:#FAEAED;border-color:#D4556A;color:#D4556A;}
  .color-modal-body{padding:1rem 1.1rem 1.25rem;}
  .color-carousel-img-wrap{
      width:100%;
      height:344px;border-radius:var(--border-radius-md);background:var(--color-background-secondary);border:0.5px solid var(--color-border-tertiary);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:.75rem;position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent;}
  .color-carousel-img-wrap img{max-width:100%;max-height:100%;object-fit:cover;transition:opacity .15s;}
  .color-carousel-img-wrap:hover img{opacity:.8;}
  .color-carousel-img-wrap::after{content:'點擊套用此顏色';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(26,110,108,.55);color:#fff;font-size:13px;font-weight:500;letter-spacing:.05em;opacity:0;transition:opacity .15s;pointer-events:none;}
  .color-carousel-img-wrap:hover::after{opacity:1;}
  .color-carousel-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;}
  .color-nav-btn{width:36px;height:36px;border-radius:50%;border:0.5px solid var(--color-border-secondary);background:var(--color-background-secondary);cursor:pointer;font-size:16px;color:var(--color-text-primary);outline:none;flex-shrink:0;}
  .color-nav-btn:hover{background:#E0F5F4;border-color:#3AACA8;}
  .color-carousel-info{flex:1;text-align:center;}
  .color-carousel-name{font-size:14px;font-weight:500;color:var(--color-text-primary);}
  .color-carousel-code{font-size:11px;color:var(--color-text-secondary);margin-top:2px;}
  .color-carousel-counter{font-size:11px;color:var(--color-text-secondary);margin-top:.6rem;text-align:center;}

/* ===== 已套用顏色提示 ===== */
  .color-applied-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(16px);background:#1A6E6C;color:#fff;padding:10px 22px;border-radius:var(--border-radius-md);font-size:13px;font-family:'Noto Sans TC',sans-serif;box-shadow:0 4px 16px rgba(0,0,0,.18);opacity:0;pointer-events:none;transition:opacity .25s ease, transform .25s ease;z-index:1100;white-space:nowrap;}
  .color-applied-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

  /* ===== 報價單 ===== */
  .generate-quote-btn{width:100%;margin-top:.75rem;padding:14px;background:#1A6E6C;border:none;border-radius:var(--border-radius-lg);color:#fff;font-size:15px;font-weight:500;cursor:pointer;outline:none;}
  .generate-quote-btn:hover{background:#0F4F4D;}
  .quote-doc{display:none;margin-top:1.5rem;background:#fff;border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:1.5rem;}
  .quote-doc.show{display:block;}
  .quote-doc h2{font-size:20px;margin:0 0 .25rem;color:var(--color-text-primary);text-align:center;}
  .quote-doc .quote-meta{text-align:center;font-size:12px;color:var(--color-text-secondary);margin-bottom:1.25rem;}
  .quote-table{width:100%;border-collapse:collapse;font-size:13px;}
  .quote-table th,.quote-table td{border:1px solid var(--color-border-tertiary);padding:8px 10px;text-align:left;}
  .quote-table th{background:var(--color-background-secondary);font-weight:500;color:var(--color-text-primary);}
  .quote-table td.num{text-align:right;white-space:nowrap;}
  .quote-table tfoot td{font-weight:700;background:var(--color-background-secondary);}
  .quote-doc .quote-note{font-size:11px;color:var(--color-text-secondary);margin-top:.75rem;}
  .quote-download-btn{display:block;width:100%;margin-top:1rem;padding:10px;background:var(--color-background-secondary);border:0.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:13px;font-weight:500;cursor:pointer;outline:none;text-align:center;}
  .quote-download-btn:hover{background:#E0F5F4;border-color:#3AACA8;}
  
  
  @media screen and (max-width: 767px) {
      .type-toggle,.section-header{ flex-direction: column;}
      .section-header{align-items: flex-start}
      .breakdown{ grid-template-columns: repeat(2, 1fr);}
      .wardrobe-size-grid{grid-template-columns:repeat(2,1fr);}
      #cabinet-sections .wardrobe-size-grid{grid-template-columns:repeat(1,1fr);}
      .cabinet-item-inputs {display:block;}
      
  }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ae0a72d */@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@400;500;700&family=Noto+Sans+TC:wght@300;400;500&display=swap');
.hidden {display:none}
.unit-price{ margin:0.5rem;}
 .form-wrap{max-width:1000px;margin:0 auto;padding:2rem 1rem 3rem;}
 .header{text-align:center;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:0.5px solid var(--color-border-tertiary);}
  .header-tag{font-size:11px;letter-spacing:.2em;color:#BA7517;background:#FAEEDA;padding:4px 12px;border-radius:20px;display:inline-block;margin-bottom:.75rem;}
  .header h1{font-size:26px;font-weight:700;color:var(--color-text-primary);margin:0 0 .4rem;}
  .header p{font-size:13px;color:var(--color-text-secondary);margin:0;line-height:1.6;}
  .section{
      background:white;
      border:0.5px solid var(--color-border-tertiary);
      border-radius:0.25rem;padding:1.5rem;margin-bottom:1rem;position:relative;overflow:hidden;}
  .section::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;}
  .ceiling::before{background:#EF9F27;} .floor::before{background:#1D9E75;} .wall::before{background:#378ADD;}
  .wall-design::before{background:#9B6DCA;} .curtain::before{background:#D4556A;} .cabinet::before{background:#3AACA8;}
  .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
  .section-icon{display:flex;align-items:center;gap:10px;}
.icon-box{
    width:62px;height:62px;
    border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .ceiling .icon-box{background:#FAEEDA;} .floor .icon-box{background:#E1F5EE;} .wall .icon-box{background:#E6F1FB;}
  .wall-design .icon-box{background:#F0EAFA;} .curtain .icon-box{background:#FAEAED;} .cabinet .icon-box{background:#E0F5F4;}
.icon-box svg{width:24px;height:24px;}
.section-title{
    font-size:20px;
    font-weight:500;color:var(--color-text-primary);margin:0;}
  .section-subtitle{font-size:12px;color:var(--color-text-secondary);}
  .unit-price{font-size:12px;padding:3px 10px;border-radius:20px;font-weight:500;white-space:nowrap;}
  .ceiling .unit-price{background:#FAEEDA;color:#854F0B;} .floor .unit-price{background:#E1F5EE;color:#0F6E56;}
  .wall .unit-price{background:#E6F1FB;color:#185FA5;} .wall-design .unit-price{background:#F0EAFA;color:#5B2D8E;}
  .curtain .unit-price{background:#FAEAED;color:#8C1D2F;}
  .preview-area{width:100%;border-radius:var(--border-radius-md);border:0.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);margin-bottom:1rem;overflow:hidden;position:relative;}
  .preview-area img{position:static;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .28s ease;}
  .preview-area img.hidden{opacity:0;pointer-events:none;} .preview-area img.visible{opacity:1;}
  .type-toggle{display:flex;gap:6px;margin-bottom:1rem;flex-wrap:wrap;}
  .type-btn{flex:1;min-width:0;padding:8px 10px;border-radius:var(--border-radius-md);border:1.5px solid var(--color-border-secondary);background:var(--color-background-secondary);cursor:pointer;
  font-size:16px;color:var(--color-text-secondary);
  text-align:center;outline:none;transition:all .15s;-webkit-tap-highlight-color:transparent;}
  .type-btn:focus-visible{outline:2px solid #378ADD;outline-offset:2px;}
  .type-btn .btn-price{display:block;font-size:11px;margin-top:2px;opacity:.8;}
  .active-amber   {background:#FAEEDA!important;border-color:#EF9F27!important;border-width:2px!important;color:#633806!important;font-weight:500!important;}
  .active-gray    {background:#FAEEDA!important;border-color:#EF9F27!important;border-width:2px!important;color:#2C2C2A!important;font-weight:500!important;}
  .active-teal-lo {background:#E1F5EE!important;border-color:#5DCAA5!important;border-width:2px!important;color:#085041!important;font-weight:500!important;}
  .active-teal-mid{background:#9FE1CB!important;border-color:#1D9E75!important;border-width:2px!important;color:#04342C!important;font-weight:500!important;}
  .active-teal-hi {background:#5DCAA5!important;border-color:#0F6E56!important;border-width:2px!important;color:#04342C!important;font-weight:500!important;}
  .active-blue-hi {background:#B5D4F4!important;border-color:#378ADD!important;border-width:2px!important;color:#042C53!important;font-weight:500!important;}
  .active-blue-lo {background:#E6F1FB!important;border-color:#85B7EB!important;border-width:2px!important;color:#0C447C!important;font-weight:500!important;}
  .active-purple  {background:#E8D8F8!important;border-color:#9B6DCA!important;border-width:2px!important;color:#3D1070!important;font-weight:500!important;}
  .active-rose    {background:#FAEAED!important;border-color:#D4556A!important;border-width:2px!important;color:#8C1D2F!important;font-weight:500!important;}
  .input-row{display:flex;align-items:center;gap:12px;} .input-row input{flex:1;}
  .ping-label{font-size:14px;color:var(--color-text-secondary);white-space:nowrap;}
  .subtotal-display{text-align:right;}
  .subtotal-label{font-size:11px;color:var(--color-text-secondary);}
  .subtotal-val{font-size:18px;font-weight:500;color:var(--color-text-primary);}
  .empty-hint{font-size:20px;color:var(--color-border-tertiary);}
  .curtain-input-group{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
  .curtain-input-group input{flex:1;min-width:0;}
  .curtain-input-group .dim-label{font-size:13px;color:var(--color-text-secondary);white-space:nowrap;}
  .curtain-input-group .dim-sep{font-size:16px;color:var(--color-text-secondary);padding:0 2px;}
  .curtain-calc-row{display:flex;align-items:center;justify-content:space-between;}
  .curtain-tai{font-size:13px;color:var(--color-text-secondary);}
  .curtain-tai span{font-weight:500;color:var(--color-text-primary);}
  
  /* 窗簾 */
  .cabinet-add-btns{display:flex;gap:6px;flex-wrap:wrap;}
  .cabinet-add-btn{padding:7px 14px;border-radius:var(--border-radius-md);border:1.5px dashed var(--color-border-secondary);background:var(--color-background-secondary);cursor:pointer;font-size:13px;color:var(--color-text-secondary);outline:none;transition:all .15s;white-space:nowrap;-webkit-tap-highlight-color:transparent;}
  .cabinet-add-btn:hover{border-color:#3AACA8;color:#1A6E6C;background:#E0F5F4;}
  .cabinet-add-btn.curtain-add-btn:hover{border-color:#D4556A;color:#8C1D2F;background:#FAEAED;}
  .cabinet-add-btn:focus-visible{outline:2px solid #3AACA8;outline-offset:2px;}
  .cabinet-items{margin-top:1rem;display:flex;flex-direction:column;gap:10px;}
  .cabinet-item{
      background: var(--e-global-color-6e12945);;
      border-radius:8px;
      padding:12px 14px;animation:fadeIn .2s ease;}
  
  @keyframes fadeIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}
  .cabinet-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
  .cabinet-item-label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .cabinet-item-label .item-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
  .cabinet-item-label .item-dot.teal{background:#3AACA8;} .cabinet-item-label .item-dot.rose{background:#D4556A;}
  .cabinet-item-label .item-name{font-size:14px;font-weight:500;color:var(--color-text-primary);}
.cabinet-item-label .item-idx{font-size:11px;color:#1A6E6C;margin-left:2px;}
  .remove-btn{width:24px;height:24px;border-radius:50%;border:0.5px solid var(--color-border-secondary);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:14px;line-height:1;padding:0;outline:none;flex-shrink:0;}
  .remove-btn:hover{background:#FAEAED;border-color:#D4556A;color:#D4556A;}
  .cabinet-item-inputs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .cabinet-item-inputs input,.cabinet-item-inputs select{flex:1;min-width:0;}
  .cabinet-item-inputs .dim-label{font-size:13px;color:var(--color-text-secondary);white-space:nowrap;}
  .cabinet-item-inputs .dim-sep{font-size:14px;color:var(--color-text-secondary);}
  .wardrobe-inputs{display:flex;align-items:center;gap:8px;}
  .wardrobe-inputs select{flex:1;min-width:0;padding:8px 10px;border-radius:var(--border-radius-md);border:0.5px solid var(--color-border-secondary);background:var(--color-background-primary);font-size:13px;color:var(--color-text-primary);outline:none;cursor:pointer;}
  .wardrobe-inputs select:focus{border-color:#3AACA8;}
  .wardrobe-inputs .dim-label{font-size:13px;color:var(--color-text-secondary);white-space:nowrap;}
  .wardrobe-inputs .dim-sep{font-size:14px;color:var(--color-text-secondary);}
  .wardrobe-fixed{font-size:12px;color:var(--color-text-secondary);margin-top:6px;padding:4px 8px;background:var(--color-background-primary);border-radius:var(--border-radius-md);display:inline-block;}
  .cabinet-item-price{display:flex;align-items:center;justify-content:flex-end;margin-top:8px;gap:8px;}
  .cabinet-item-price .price-label{font-size:11px;color:var(--color-text-secondary);}
  .cabinet-item-price .price-val{font-size:15px;font-weight:500;color:var(--color-text-primary);}
  .cabinet-empty{font-size:13px;color:var(--color-text-secondary);text-align:center;padding:1rem 0;opacity:.6;}
  
  /* 窗簾項目 */
.curtain .cabinet-item-label .item-idx{color:#8C1D2F;}
  .curtain-dim-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;}
  .curtain-dim-row .dim-field{display:flex;flex-direction:column;flex:1;min-width:0;}
  .curtain-dim-row .dim-label{font-size:13px;color:var(--color-text-secondary);white-space:nowrap;padding-top:9px;}
  .curtain-dim-row .dim-sep{font-size:14px;color:var(--color-text-secondary);padding-top:9px;}
  .curtain-dim-row input{width:100%;}
  
  /* 尺寸範圍提示 */
  .dim-hint{font-size:11px;margin-top:3px;min-height:16px;}
  .dim-hint.ok{color:var(--color-text-secondary);opacity:.6;}
  .dim-hint.err{color:#D4556A;font-weight:500;}
  
  /* input 超出範圍時邊框變紅 */
  input.out-of-range{border-color:#D4556A!important;background:#FFF5F6!important;}
  .curtain-tai-row{display:flex;align-items:center;justify-content:space-between;}
  .curtain-tai-info{font-size:12px;color:var(--color-text-secondary);}
  .curtain-tai-info span{font-weight:500;color:var(--color-text-primary);}
  .total-card{background:var(--color-background-secondary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:1.5rem;margin-top:1.5rem;}
  .breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:1.25rem;}
  .breakdown-item{background:white;border-radius:var(--border-radius-md);padding:.75rem;text-align:center;border:0.5px solid var(--color-border-tertiary);}
  .breakdown-name{font-size:18px;color:var(--color-text-secondary);margin-bottom:2px;}
  .breakdown-type{font-size:10px;color:var(--color-text-secondary);margin-bottom:4px;opacity:.7;min-height:14px;}
  .breakdown-amount{font-size:13px;font-weight:500;}
  .total-row{display:flex;align-items:baseline;justify-content:space-between;padding-top:1rem;border-top:0.5px solid var(--color-border-tertiary);}
  .total-label{font-size:15px;color:var(--color-text-secondary);}
  .total-amount{font-size:28px;font-weight:700;color:#854F0B;}
  .total-unit{font-size:13px;color:var(--color-text-secondary);margin-left:4px;}
  .note{font-size:12px;color:var(--color-text-secondary);text-align:center;margin-top:1rem;padding:.75rem;background:var(--color-background-secondary);border-radius:var(--border-radius-md);}
  .reset-btn{font-size:13px;color:var(--color-text-secondary);background:none;border:0.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);padding:6px 14px;cursor:pointer;margin-top:.75rem;display:block;margin-left:auto;}
  .reset-btn:hover{background:var(--color-background-secondary);}
  .quote-btn{width:100%;margin-top:1rem;padding:12px;background:#BA7517;border:none;border-radius:var(--border-radius-lg);color:#fff;font-family:'Noto Sans TC',sans-serif;font-size:15px;font-weight:500;cursor:pointer;outline:none;}
  .quote-btn:hover{background:#854F0B;}
  
  /* ===== 顏色預覽彈出視窗 ===== */
 .color-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;z-index:1000;padding:1rem;}
  .color-modal-overlay.open{display:flex;}
  .color-modal{
      background:white;
      border-radius:8px;
      max-width:380px;
      width:100%;overflow:hidden;}
  .color-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.1rem;border-bottom:0.5px solid var(--color-border-tertiary);}
  .color-modal-header h3{margin:0;font-size:15px;font-weight:500;}
  .color-modal-close{width:26px;height:26px;border-radius:50%;border:0.5px solid var(--color-border-secondary);background:none;cursor:pointer;font-size:15px;color:var(--color-text-secondary);outline:none;}
  .color-modal-close:hover{background:#FAEAED;border-color:#D4556A;color:#D4556A;}
  .color-modal-body{padding:1rem 1.1rem 1.25rem;}
  .color-carousel-img-wrap{
      width:100%;
      height:344px;border-radius:var(--border-radius-md);background:var(--color-background-secondary);border:0.5px solid var(--color-border-tertiary);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:.75rem;position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent;}
  .color-carousel-img-wrap img{max-width:100%;max-height:100%;object-fit:cover;transition:opacity .15s;}
  .color-carousel-img-wrap:hover img{opacity:.8;}
  .color-carousel-img-wrap::after{content:'點擊套用此顏色';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(26,110,108,.55);color:#fff;font-size:13px;font-weight:500;letter-spacing:.05em;opacity:0;transition:opacity .15s;pointer-events:none;}
  .color-carousel-img-wrap:hover::after{opacity:1;}
  .color-carousel-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;}
  .color-nav-btn{width:36px;height:36px;border-radius:50%;border:0.5px solid var(--color-border-secondary);background:var(--color-background-secondary);cursor:pointer;font-size:16px;color:var(--color-text-primary);outline:none;flex-shrink:0;}
  .color-nav-btn:hover{background:#E0F5F4;border-color:#3AACA8;}
  .color-carousel-info{flex:1;text-align:center;}
  .color-carousel-name{font-size:14px;font-weight:500;color:var(--color-text-primary);}
  .color-carousel-code{font-size:11px;color:var(--color-text-secondary);margin-top:2px;}
  .color-carousel-counter{font-size:11px;color:var(--color-text-secondary);margin-top:.6rem;text-align:center;}

/* ===== 已套用顏色提示 ===== */
  .color-applied-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(16px);background:#1A6E6C;color:#fff;padding:10px 22px;border-radius:var(--border-radius-md);font-size:13px;font-family:'Noto Sans TC',sans-serif;box-shadow:0 4px 16px rgba(0,0,0,.18);opacity:0;pointer-events:none;transition:opacity .25s ease, transform .25s ease;z-index:1100;white-space:nowrap;}
  .color-applied-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

  /* ===== 報價單 ===== */
  .generate-quote-btn{width:100%;margin-top:.75rem;padding:14px;background:#1A6E6C;border:none;border-radius:var(--border-radius-lg);color:#fff;font-size:15px;font-weight:500;cursor:pointer;outline:none;}
  .generate-quote-btn:hover{background:#0F4F4D;}
  .quote-doc{display:none;margin-top:1.5rem;background:#fff;border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:1.5rem;}
  .quote-doc.show{display:block;}
  .quote-doc h2{font-size:20px;margin:0 0 .25rem;color:var(--color-text-primary);text-align:center;}
  .quote-doc .quote-meta{text-align:center;font-size:12px;color:var(--color-text-secondary);margin-bottom:1.25rem;}
  .quote-table{width:100%;border-collapse:collapse;font-size:13px;}
  .quote-table th,.quote-table td{border:1px solid var(--color-border-tertiary);padding:8px 10px;text-align:left;}
  .quote-table th{background:var(--color-background-secondary);font-weight:500;color:var(--color-text-primary);}
  .quote-table td.num{text-align:right;white-space:nowrap;}
  .quote-table tfoot td{font-weight:700;background:var(--color-background-secondary);}
  .quote-doc .quote-note{font-size:11px;color:var(--color-text-secondary);margin-top:.75rem;}
  .quote-download-btn{display:block;width:100%;margin-top:1rem;padding:10px;background:var(--color-background-secondary);border:0.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:13px;font-weight:500;cursor:pointer;outline:none;text-align:center;}
  .quote-download-btn:hover{background:#E0F5F4;border-color:#3AACA8;}
  
  
  @media screen and (max-width: 767px) {
      .type-toggle,.section-header{ flex-direction: column;}
      .section-header{align-items: flex-start}
      .breakdown{ grid-template-columns: repeat(2, 1fr);}
      .wardrobe-size-grid{grid-template-columns:repeat(2,1fr);}
      #cabinet-sections .wardrobe-size-grid{grid-template-columns:repeat(1,1fr);}
      .cabinet-item-inputs {display:block;}
      
  }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2a4c673 */@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@400;500;700&family=Noto+Sans+TC:wght@300;400;500&display=swap');
.hidden {display:none}
.unit-price{ margin:0.5rem;}
 .form-wrap{max-width:1000px;margin:0 auto;padding:2rem 1rem 3rem;}
 .header{text-align:center;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:0.5px solid var(--color-border-tertiary);}
  .header-tag{font-size:11px;letter-spacing:.2em;color:#BA7517;background:#FAEEDA;padding:4px 12px;border-radius:20px;display:inline-block;margin-bottom:.75rem;}
  .header h1{font-size:26px;font-weight:700;color:var(--color-text-primary);margin:0 0 .4rem;}
  .header p{font-size:13px;color:var(--color-text-secondary);margin:0;line-height:1.6;}
  .section{
      background:white;
      border:0.5px solid var(--color-border-tertiary);
      border-radius:0.25rem;padding:1.5rem;margin-bottom:1rem;position:relative;overflow:hidden;}
  .section::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;}
  .ceiling::before{background:#EF9F27;} .floor::before{background:#1D9E75;} .wall::before{background:#378ADD;}
  .wall-design::before{background:#9B6DCA;} .curtain::before{background:#D4556A;} .cabinet::before{background:#3AACA8;}
  .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
  .section-icon{display:flex;align-items:center;gap:10px;}
.icon-box{
    width:62px;height:62px;
    border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .ceiling .icon-box{background:#FAEEDA;} .floor .icon-box{background:#E1F5EE;} .wall .icon-box{background:#E6F1FB;}
  .wall-design .icon-box{background:#F0EAFA;} .curtain .icon-box{background:#FAEAED;} .cabinet .icon-box{background:#E0F5F4;}
.icon-box svg{width:24px;height:24px;}
.section-title{
    font-size:20px;
    font-weight:500;color:var(--color-text-primary);margin:0;}
  .section-subtitle{font-size:12px;color:var(--color-text-secondary);}
  .unit-price{font-size:12px;padding:3px 10px;border-radius:20px;font-weight:500;white-space:nowrap;}
  .ceiling .unit-price{background:#FAEEDA;color:#854F0B;} .floor .unit-price{background:#E1F5EE;color:#0F6E56;}
  .wall .unit-price{background:#E6F1FB;color:#185FA5;} .wall-design .unit-price{background:#F0EAFA;color:#5B2D8E;}
  .curtain .unit-price{background:#FAEAED;color:#8C1D2F;}
  .preview-area{width:100%;border-radius:var(--border-radius-md);border:0.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);margin-bottom:1rem;overflow:hidden;position:relative;}
  .preview-area img{position:static;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .28s ease;}
  .preview-area img.hidden{opacity:0;pointer-events:none;} .preview-area img.visible{opacity:1;}
  .type-toggle{display:flex;gap:6px;margin-bottom:1rem;flex-wrap:wrap;}
  .type-btn{flex:1;min-width:0;padding:8px 10px;border-radius:var(--border-radius-md);border:1.5px solid var(--color-border-secondary);background:var(--color-background-secondary);cursor:pointer;
  font-size:16px;color:var(--color-text-secondary);
  text-align:center;outline:none;transition:all .15s;-webkit-tap-highlight-color:transparent;}
  .type-btn:focus-visible{outline:2px solid #378ADD;outline-offset:2px;}
  .type-btn .btn-price{display:block;font-size:11px;margin-top:2px;opacity:.8;}
  .active-amber   {background:#FAEEDA!important;border-color:#EF9F27!important;border-width:2px!important;color:#633806!important;font-weight:500!important;}
  .active-gray    {background:#FAEEDA!important;border-color:#EF9F27!important;border-width:2px!important;color:#2C2C2A!important;font-weight:500!important;}
  .active-teal-lo {background:#E1F5EE!important;border-color:#5DCAA5!important;border-width:2px!important;color:#085041!important;font-weight:500!important;}
  .active-teal-mid{background:#9FE1CB!important;border-color:#1D9E75!important;border-width:2px!important;color:#04342C!important;font-weight:500!important;}
  .active-teal-hi {background:#5DCAA5!important;border-color:#0F6E56!important;border-width:2px!important;color:#04342C!important;font-weight:500!important;}
  .active-blue-hi {background:#B5D4F4!important;border-color:#378ADD!important;border-width:2px!important;color:#042C53!important;font-weight:500!important;}
  .active-blue-lo {background:#E6F1FB!important;border-color:#85B7EB!important;border-width:2px!important;color:#0C447C!important;font-weight:500!important;}
  .active-purple  {background:#E8D8F8!important;border-color:#9B6DCA!important;border-width:2px!important;color:#3D1070!important;font-weight:500!important;}
  .active-rose    {background:#FAEAED!important;border-color:#D4556A!important;border-width:2px!important;color:#8C1D2F!important;font-weight:500!important;}
  .input-row{display:flex;align-items:center;gap:12px;} .input-row input{flex:1;}
  .ping-label{font-size:14px;color:var(--color-text-secondary);white-space:nowrap;}
  .subtotal-display{text-align:right;}
  .subtotal-label{font-size:11px;color:var(--color-text-secondary);}
  .subtotal-val{font-size:18px;font-weight:500;color:var(--color-text-primary);}
  .empty-hint{font-size:20px;color:var(--color-border-tertiary);}
  .curtain-input-group{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
  .curtain-input-group input{flex:1;min-width:0;}
  .curtain-input-group .dim-label{font-size:13px;color:var(--color-text-secondary);white-space:nowrap;}
  .curtain-input-group .dim-sep{font-size:16px;color:var(--color-text-secondary);padding:0 2px;}
  .curtain-calc-row{display:flex;align-items:center;justify-content:space-between;}
  .curtain-tai{font-size:13px;color:var(--color-text-secondary);}
  .curtain-tai span{font-weight:500;color:var(--color-text-primary);}
  
  /* 窗簾 */
  .cabinet-add-btns{display:flex;gap:6px;flex-wrap:wrap;}
  .cabinet-add-btn{padding:7px 14px;border-radius:var(--border-radius-md);border:1.5px dashed var(--color-border-secondary);background:var(--color-background-secondary);cursor:pointer;font-size:13px;color:var(--color-text-secondary);outline:none;transition:all .15s;white-space:nowrap;-webkit-tap-highlight-color:transparent;}
  .cabinet-add-btn:hover{border-color:#3AACA8;color:#1A6E6C;background:#E0F5F4;}
  .cabinet-add-btn.curtain-add-btn:hover{border-color:#D4556A;color:#8C1D2F;background:#FAEAED;}
  .cabinet-add-btn:focus-visible{outline:2px solid #3AACA8;outline-offset:2px;}
  .cabinet-items{margin-top:1rem;display:flex;flex-direction:column;gap:10px;}
  .cabinet-item{
      background: var(--e-global-color-6e12945);;
      border-radius:8px;
      padding:12px 14px;animation:fadeIn .2s ease;}
  
  @keyframes fadeIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}
  .cabinet-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
  .cabinet-item-label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .cabinet-item-label .item-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
  .cabinet-item-label .item-dot.teal{background:#3AACA8;} .cabinet-item-label .item-dot.rose{background:#D4556A;}
  .cabinet-item-label .item-name{font-size:18px;font-weight:500;color:var(--color-text-primary);}
  .cabinet-item-label .item-idx{font-size:16px;color:#1A6E6C;margin-left:2px;}
  .cabinet-item-label .item-style{font-size:16px;color:#1A6E6C;background:#E0F5F4;padding:1px 8px;border-radius:10px;}
  .remove-btn{width:24px;height:24px;border-radius:50%;border:0.5px solid var(--color-border-secondary);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:14px;line-height:1;padding:0;outline:none;flex-shrink:0;}
  .remove-btn:hover{background:#FAEAED;border-color:#D4556A;color:#D4556A;}
  .cabinet-item-inputs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .cabinet-item-inputs input,.cabinet-item-inputs select{flex:1;min-width:0;}
  .cabinet-item-inputs .dim-label{font-size:13px;color:var(--color-text-secondary);white-space:nowrap;}
  .cabinet-item-inputs .dim-sep{font-size:14px;color:var(--color-text-secondary);}
  .wardrobe-inputs{display:flex;align-items:center;gap:8px;}
  .wardrobe-inputs select{flex:1;min-width:0;padding:8px 10px;border-radius:var(--border-radius-md);border:0.5px solid var(--color-border-secondary);background:var(--color-background-primary);font-size:13px;color:var(--color-text-primary);outline:none;cursor:pointer;}
  .wardrobe-inputs select:focus{border-color:#3AACA8;}
  .wardrobe-inputs .dim-label{font-size:13px;color:var(--color-text-secondary);white-space:nowrap;}
  .wardrobe-inputs .dim-sep{font-size:14px;color:var(--color-text-secondary);}
  .wardrobe-fixed{font-size:12px;color:var(--color-text-secondary);margin-top:6px;padding:4px 8px;background:var(--color-background-primary);border-radius:var(--border-radius-md);display:inline-block;}
  .cabinet-item-price{display:flex;align-items:center;justify-content:flex-end;margin-top:8px;gap:8px;}
  .cabinet-item-price .price-label{font-size:11px;color:var(--color-text-secondary);}
  .cabinet-item-price .price-val{font-size:15px;font-weight:500;color:var(--color-text-primary);}
  .cabinet-empty{font-size:13px;color:var(--color-text-secondary);text-align:center;padding:1rem 0;opacity:.6;}
  
  /* 窗簾項目 */
.curtain .cabinet-item-label .item-idx{color:#8C1D2F;}
  .curtain-dim-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;}
  .curtain-dim-row .dim-field{display:flex;flex-direction:column;flex:1;min-width:0;}
  .curtain-dim-row .dim-label{font-size:13px;color:var(--color-text-secondary);white-space:nowrap;padding-top:9px;}
  .curtain-dim-row .dim-sep{font-size:14px;color:var(--color-text-secondary);padding-top:9px;}
  .curtain-dim-row input{width:100%;}
  
  /* 尺寸範圍提示 */
  .dim-hint{font-size:11px;margin-top:3px;min-height:16px;}
  .dim-hint.ok{color:var(--color-text-secondary);opacity:.6;}
  .dim-hint.err{color:#D4556A;font-weight:500;}
  
  /* input 超出範圍時邊框變紅 */
  input.out-of-range{border-color:#D4556A!important;background:#FFF5F6!important;}
  .curtain-tai-row{display:flex;align-items:center;justify-content:space-between;}
  .curtain-tai-info{font-size:12px;color:var(--color-text-secondary);}
  .curtain-tai-info span{font-weight:500;color:var(--color-text-primary);}
  .total-card{background:var(--color-background-secondary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:1.5rem;margin-top:1.5rem;}
  .breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:1.25rem;}
  .breakdown-item{background:white;border-radius:var(--border-radius-md);padding:.75rem;text-align:center;border:0.5px solid var(--color-border-tertiary);}
  .breakdown-name{font-size:18px;color:var(--color-text-secondary);margin-bottom:2px;}
  .breakdown-type{font-size:10px;color:var(--color-text-secondary);margin-bottom:4px;opacity:.7;min-height:14px;}
  .breakdown-amount{font-size:13px;font-weight:500;}
  .total-row{display:flex;align-items:baseline;justify-content:space-between;padding-top:1rem;border-top:0.5px solid var(--color-border-tertiary);}
  .total-label{font-size:15px;color:var(--color-text-secondary);}
  .total-amount{font-size:28px;font-weight:700;color:#854F0B;}
  .total-unit{font-size:13px;color:var(--color-text-secondary);margin-left:4px;}
  .note{font-size:12px;color:var(--color-text-secondary);text-align:center;margin-top:1rem;padding:.75rem;background:var(--color-background-secondary);border-radius:var(--border-radius-md);}
  .reset-btn{font-size:13px;color:var(--color-text-secondary);background:none;border:0.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);padding:6px 14px;cursor:pointer;margin-top:.75rem;display:block;margin-left:auto;}
  .reset-btn:hover{background:var(--color-background-secondary);}
  .quote-btn{width:100%;margin-top:1rem;padding:12px;background:#BA7517;border:none;border-radius:var(--border-radius-lg);color:#fff;font-family:'Noto Sans TC',sans-serif;font-size:15px;font-weight:500;cursor:pointer;outline:none;}
  .quote-btn:hover{background:#854F0B;}
  
  /* ===== 顏色預覽彈出視窗 ===== */
 .color-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;z-index:1000;padding:1rem;}
  .color-modal-overlay.open{display:flex;}
  .color-modal{
      background:white;
      border-radius:8px;
      max-width:380px;
      width:100%;overflow:hidden;}
  .color-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.1rem;border-bottom:0.5px solid var(--color-border-tertiary);}
  .color-modal-header h3{margin:0;font-size:15px;font-weight:500;}
  .color-modal-close{width:26px;height:26px;border-radius:50%;border:0.5px solid var(--color-border-secondary);background:none;cursor:pointer;font-size:15px;color:var(--color-text-secondary);outline:none;}
  .color-modal-close:hover{background:#FAEAED;border-color:#D4556A;color:#D4556A;}
  .color-modal-body{padding:1rem 1.1rem 1.25rem;}
  .color-carousel-img-wrap{
      width:100%;
      height:344px;border-radius:var(--border-radius-md);background:var(--color-background-secondary);border:0.5px solid var(--color-border-tertiary);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:.75rem;position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent;}
  .color-carousel-img-wrap img{max-width:100%;max-height:100%;object-fit:cover;transition:opacity .15s;}
  .color-carousel-img-wrap:hover img{opacity:.8;}
  .color-carousel-img-wrap::after{content:'點擊套用此顏色';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(26,110,108,.55);color:#fff;font-size:13px;font-weight:500;letter-spacing:.05em;opacity:0;transition:opacity .15s;pointer-events:none;}
  .color-carousel-img-wrap:hover::after{opacity:1;}
  .color-carousel-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;}
  .color-nav-btn{width:36px;height:36px;border-radius:50%;border:0.5px solid var(--color-border-secondary);background:var(--color-background-secondary);cursor:pointer;font-size:16px;color:var(--color-text-primary);outline:none;flex-shrink:0;}
  .color-nav-btn:hover{background:#E0F5F4;border-color:#3AACA8;}
  .color-carousel-info{flex:1;text-align:center;}
  .color-carousel-name{font-size:14px;font-weight:500;color:var(--color-text-primary);}
  .color-carousel-code{font-size:11px;color:var(--color-text-secondary);margin-top:2px;}
  .color-carousel-counter{font-size:11px;color:var(--color-text-secondary);margin-top:.6rem;text-align:center;}

/* ===== 已套用顏色提示 ===== */
  .color-applied-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(16px);background:#1A6E6C;color:#fff;padding:10px 22px;border-radius:var(--border-radius-md);font-size:13px;font-family:'Noto Sans TC',sans-serif;box-shadow:0 4px 16px rgba(0,0,0,.18);opacity:0;pointer-events:none;transition:opacity .25s ease, transform .25s ease;z-index:1100;white-space:nowrap;}
  .color-applied-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

  /* ===== 報價單 ===== */
  .generate-quote-btn{width:100%;margin-top:.75rem;padding:14px;background:#1A6E6C;border:none;border-radius:var(--border-radius-lg);color:#fff;font-size:15px;font-weight:500;cursor:pointer;outline:none;}
  .generate-quote-btn:hover{background:#0F4F4D;}
  .quote-doc{display:none;margin-top:1.5rem;background:#fff;border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:1.5rem;}
  .quote-doc.show{display:block;}
  .quote-doc h2{font-size:20px;margin:0 0 .25rem;color:var(--color-text-primary);text-align:center;}
  .quote-doc .quote-meta{text-align:center;font-size:12px;color:var(--color-text-secondary);margin-bottom:1.25rem;}
  .quote-table{width:100%;border-collapse:collapse;font-size:13px;}
  .quote-table th,.quote-table td{border:1px solid var(--color-border-tertiary);padding:8px 10px;text-align:left;}
  .quote-table th{background:var(--color-background-secondary);font-weight:500;color:var(--color-text-primary);}
  .quote-table td.num{text-align:right;white-space:nowrap;}
  .quote-table tfoot td{font-weight:700;background:var(--color-background-secondary);}
  .quote-doc .quote-note{font-size:11px;color:var(--color-text-secondary);margin-top:.75rem;}
  .quote-download-btn{display:block;width:100%;margin-top:1rem;padding:10px;background:var(--color-background-secondary);border:0.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:13px;font-weight:500;cursor:pointer;outline:none;text-align:center;}
  .quote-download-btn:hover{background:#E0F5F4;border-color:#3AACA8;}
  
  
  @media screen and (max-width: 767px) {
      .type-toggle,.section-header{ flex-direction: column;}
      .section-header{align-items: flex-start}
      .breakdown{ grid-template-columns: repeat(2, 1fr);}
      .wardrobe-size-grid{grid-template-columns:repeat(2,1fr);}
      #cabinet-sections .wardrobe-size-grid{grid-template-columns:repeat(1,1fr);}
      .cabinet-item-inputs {display:block;}
      
  }/* End custom CSS */