/* execution.css */
.execution-progress{display:flex;justify-content:space-between;align-items:center;gap:24px}.execution-progress ol{display:flex;gap:12px;list-style:none;padding:0;flex-wrap:wrap}.execution-progress li{padding:8px 14px;border:1px solid #cad5c9;border-radius:24px;color:#66766c}.execution-progress li.done{background:#1e4f3c;color:#fff}.execution-primary{border-top:5px solid #1e4f3c}.execution-primary address{font-style:normal}.execution-options{display:grid;gap:16px;padding:20px 0}.execution-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:20px}.execution-photos figure{margin:0}.execution-photos img{width:100%;height:240px;object-fit:cover;border-radius:22px}.execution-photos figcaption{margin-top:10px}.panel textarea{max-width:100%;box-sizing:border-box}button:disabled{opacity:.55;cursor:not-allowed}.execution-install-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:640px){.execution-progress{align-items:flex-start;flex-direction:column}.execution-install-grid{grid-template-columns:1fr}.execution-progress ol{gap:6px}.execution-progress li{padding:6px 10px}.execution-primary .button{max-width:100%;white-space:normal}}

.execution-case-form label{display:block;font-weight:600;margin:20px 0 8px}.execution-case-form textarea{width:100%;padding:12px;border:1px solid #9ba79b;border-radius:8px;font:inherit;color:inherit}.execution-primary .record-list .button{white-space:normal}.execution-primary .record-list li>div{min-width:0;overflow-wrap:anywhere}button[hidden]{display:none!important}

.execution-case-form .form-actions{display:flex;flex-wrap:wrap;gap:12px}.execution-case-form .button{white-space:normal;min-width:0}.execution-case-form textarea{display:block;max-width:100%;width:100%}.execution-case-form{min-width:0}.execution-progress,.execution-primary{margin-bottom:24px}
@media(max-width:640px){.execution-case-form .form-actions{flex-direction:column;align-items:stretch}.execution-case-form .button{width:100%}}

/* feedback.css */
.feedback-form{max-width:800px}.feedback-message{padding:20px 0;border-bottom:1px solid #d4dcd0;overflow-wrap:anywhere}.feedback-message:last-child{border:0}.feedback-photos{display:flex;flex-wrap:wrap;gap:12px}.feedback-photos img{width:160px;height:120px;object-fit:cover;border-radius:16px}.feedback-amounts{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px}.feedback-amounts dd{margin:0;text-align:right}.customer-review p,.feedback-form p{overflow-wrap:anywhere}.review-reply{border-left:3px solid #d4dcd0;padding-left:20px;margin-top:20px}.feedback-form input[type=radio]{width:auto}.feedback-form button{min-height:44px} @media(max-width:480px){.feedback-amounts{grid-template-columns:1fr;gap:6px}.feedback-amounts dd{text-align:left;margin-bottom:12px}}
.panel #case-search{flex:1;min-width:0;width:100%;min-height:48px;padding:12px 16px;border:1px solid #97a79a;border-radius:8px;background:#fff;color:var(--ink);font:inherit}.feedback-form,.feedback-message,.page-heading{overflow-wrap:anywhere}
.star-rating{display:flex;gap:4px;width:max-content;max-width:100%;margin:8px 0 20px}
.star-rating .star-rating-option{position:relative;display:grid;place-items:center;width:44px;height:48px;margin:0;cursor:pointer;border-radius:8px}
.star-rating .star-rating-option input{position:absolute;width:1px;height:1px;opacity:0;margin:0;padding:0}
.star-rating-option svg{width:34px;height:34px;fill:transparent;stroke:#76806f;stroke-width:1.5;stroke-linejoin:round}
.star-rating-option:has(input:checked) svg,.star-rating-option:has(~ .star-rating-option input:checked) svg{fill:#c18a20;stroke:#946711}
.star-rating-option:has(input:focus-visible){outline:2px solid #1e4f3c;outline-offset:2px}
.star-rating-option .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Keep urgent customer contact together, above other booking actions. */
.booking-contact-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:.75rem; margin:1.25rem 0; max-width:34rem; }
.booking-contact-actions .button { display:flex; align-items:center; justify-content:center; gap:.5rem; min-width:0; min-height:48px; padding:.8rem 1rem; white-space:normal; text-align:center; box-sizing:border-box; }
.booking-contact-actions svg { flex-shrink:0; }
.booking-contact-note { margin-top:-.5rem; }
@media(min-width:380px) { .booking-contact-actions { grid-template-columns:repeat(2,minmax(0,1fr)); } }
