:root{--ace-teal:#08aaa6;--ace-teal-dark:#078d89;--ace-blush:#f7ece8;--ace-stone:#fcf9f6;--ace-border:#ded4cf;--ace-text:#3f312d}
.ace-form,.ace-estimate{max-width:900px;margin:30px auto;color:var(--ace-text)}
.ace-form>h2,.ace-estimate>h2{color:var(--ace-teal);margin-bottom:8px}
.ace-form fieldset,.ace-product,.ace-estimate{border:1px solid var(--ace-border);padding:20px;margin:0 0 18px;border-radius:10px;background:var(--ace-stone)}
.ace-form fieldset{background:var(--ace-blush)}
.ace-form legend{font-weight:700;padding:0 9px;color:var(--ace-text)}
.ace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ace-measure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end}
.ace-measure-grid h4{grid-column:1/-1;margin:0 0 2px;color:var(--ace-teal);font-size:1.05em}
.ace-form label{display:block;margin:0 0 12px;font-weight:600}
.ace-form input:not([type=checkbox]),.ace-form select,.ace-form textarea{width:100%;box-sizing:border-box;padding:11px 10px;margin-top:5px;line-height:1.4;border:1px solid #cfc5c0;border-radius:6px;background:#fff;color:inherit}
.ace-form input:focus,.ace-form select:focus,.ace-form textarea:focus{outline:2px solid rgba(8,170,166,.18);border-color:var(--ace-teal)}
.ace-form select{min-height:46px;height:auto;line-height:1.4;padding-top:10px;padding-bottom:10px}
.ace-form button,.ace-estimate button{padding:12px 20px;cursor:pointer;border:0;border-radius:6px;background:var(--ace-teal);color:#fff;font-weight:700}
.ace-form button:hover,.ace-estimate button:hover{background:var(--ace-teal-dark)}
.ace-product{background:#fff;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}
.ace-product.is-selected{border-color:var(--ace-teal);background:#fbfefe;box-shadow:inset 0 3px 0 var(--ace-teal)}
.ace-product-toggle{font-size:1.1em;margin:0!important}
.ace-product-toggle strong{color:var(--ace-text)}
.ace-product-toggle input,.ace-consent input{accent-color:var(--ace-teal)}
.ace-product-fields{padding-top:14px}
.ace-consent input{width:auto!important}
.ace-estimate-spec{white-space:normal;background:#f7f7f7;padding:16px;margin:18px 0}
.ace-price{font-size:1.35em}.ace-accepted{padding:15px;border:1px solid #77a877;background:#f2fff2}
.ace-help{margin:0 0 14px;line-height:1.5}.ace-whatsapp-help{background:#fff;padding:10px 12px;border-left:3px solid var(--ace-teal);border-radius:4px}.ace-cushion-note{background:#fff;padding:11px 12px;border-radius:6px}
.ace-repeat-row{border:1px solid #e2d9d4;border-radius:8px;padding:15px;margin:0 0 14px;background:#fff}
.ace-repeat-row h4{margin:0 0 12px;color:var(--ace-teal)}
.ace-add-row,.ace-remove-row{border:1px solid var(--ace-teal)!important;background:#fff!important;color:var(--ace-teal-dark)!important;border-radius:6px;margin:0 0 14px}
.ace-add-row:hover,.ace-remove-row:hover{background:#effafa!important}
.ace-remove-row{padding:7px 12px!important;font-size:.9em}
.ace-custom-size{display:none}
.ace-count-compact{max-width:240px;margin-bottom:8px}
.ace-quantity-row{max-width:240px}
.ace-size-pair{max-width:650px}
.ace-tweed-input{max-width:360px!important}
@media(max-width:650px){.ace-grid,.ace-measure-grid{grid-template-columns:1fr}.ace-measure-grid h4{margin:0;color:var(--ace-teal)}.ace-form select{min-height:48px}.ace-count-compact,.ace-quantity-row,.ace-size-pair,.ace-tweed-input{max-width:none!important}}
.ace-success{max-width:760px;margin:24px auto;padding:28px;border:2px solid #12aaa3;border-radius:12px;background:#fbf3ef}.ace-success h2{color:#079f99;margin-top:0}.ace-success p:last-child{margin-bottom:0}
/* v0.5 section-heading alignment and estimate cards */
.ace-form fieldset{position:relative;padding-top:28px}.ace-form legend{float:left;width:100%;box-sizing:border-box;margin:-14px 0 12px;padding:0;border:0}.ace-form legend+*{clear:both}
.ace-estimate-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.ace-estimate-card{border:1px solid var(--ace-border);border-radius:9px;background:#fff;padding:16px}.ace-estimate-card h4{margin:0 0 12px;color:var(--ace-teal-dark)}.ace-estimate-card-item{border-top:1px solid #eee;padding-top:10px;margin-top:10px}.ace-estimate-card dl{display:grid;grid-template-columns:minmax(95px,.8fr) minmax(0,1.2fr);gap:5px 12px;margin:8px 0}.ace-estimate-card dt{font-weight:700}.ace-estimate-card dd{margin:0}.ace-customer-message{background:var(--ace-blush);border-left:4px solid var(--ace-teal);padding:14px 16px;margin:16px 0;border-radius:6px}@media(max-width:650px){.ace-estimate-product-grid{grid-template-columns:1fr}}
.ace-estimate,.ace-estimate .ace-estimate-card{color:#292929;font-size:16px}.ace-estimate .ace-estimate-card dt{font-weight:700;color:#222}.ace-before-accept{margin:24px 0;padding:18px 20px;background:#fbf7f4;border:1px solid #e4d8d0;border-radius:9px}.ace-before-accept h3{margin-top:0;color:#078d89}.ace-consent{display:block;margin:18px 0;line-height:1.55}
.ace-custom-cushion-size,.ace-bedrunner-options{display:none}.ace-custom-cushion-size{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:650px}.ace-extra-customer-card p{margin:5px 0 0}@media(max-width:650px){.ace-custom-cushion-size{grid-template-columns:1fr;max-width:none}}
.ace-upload-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,160px));gap:10px;margin:10px 0 18px}.ace-upload-thumb{border:1px solid #d8d0cb;border-radius:9px;overflow:hidden;background:#fff}.ace-upload-thumb img{display:block;width:100%;height:110px;object-fit:cover}.ace-upload-thumb span{display:block;padding:6px 8px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ace-estimate-logo{text-align:center;margin:0 0 16px}.ace-estimate-logo img{width:120px;max-width:35%;height:auto}.ace-success strong{color:#184f4d}

/* v1.5 acceptance + fabric chooser */
.ace-tweed-chooser{margin:20px 0;padding:18px 20px;border:1px solid #8fd0cb;border-radius:10px;background:#f4fbfa}.ace-tweed-chooser h3{margin:0 0 7px;color:#087f7b}.ace-tweed-chooser p{margin:0 0 12px}.ace-tweed-button{display:inline-block;padding:9px 14px;border-radius:6px;background:#087f7b;color:#fff!important;text-decoration:none!important;font-weight:700}.ace-room-field{max-width:480px;margin:10px 0 14px}.ace-address-fields{margin:22px 0;padding:20px;border:1px solid #d8d0cb;border-radius:10px;background:#fbfaf8}.ace-address-fields legend{padding:0 8px;font-size:18px;font-weight:700;color:#087f7b}.ace-address-fields .ace-grid{gap:16px}.ace-address-fields label{font-weight:700}.ace-address-fields input{width:100%;min-height:42px;margin-top:6px;padding:8px 10px;border:1px solid #b9b3af;border-radius:5px}.ace-thank-you-card{margin-top:22px!important;padding:22px!important;border:1px solid #8fc8a0!important;border-radius:10px!important;background:#f2fff5!important}.ace-thank-you-card h3{margin:0 0 10px;color:#25643d;font-size:22px}.ace-thank-you-card p{margin:8px 0;line-height:1.55}

/* v1.5.4: keep window/blind fields tidy and aligned */
.ace-repeat-row>.ace-grid{align-items:start}.ace-repeat-row textarea{min-height:92px}.ace-repeat-row label{min-width:0}.ace-repeat-row input,.ace-repeat-row select,.ace-repeat-row textarea{max-width:100%}
