/* Reuse the exact artwork from the approved social cover. */
header{background:radial-gradient(ellipse at 95% 8%,#ffffff18,transparent 62%),linear-gradient(115deg,#004f49 0%,#007669 48%,#38b29c 100%)}
.brand-logo{position:relative;width:min(100%,360px);aspect-ratio:580/140;overflow:hidden;margin-bottom:18px;border-radius:0}
.brand-logo img{position:absolute;width:206.8966%;max-width:none;height:auto;left:-6.8966%;top:-28.5714%}
.head .contacts{max-width:none;grid-auto-rows:1fr}
.contacts .contact{height:100%;min-height:90px}
.actions{grid-auto-rows:1fr;align-items:stretch}
.actions .btn{height:100%;min-height:76px;line-height:1.4;display:flex;align-items:center;justify-content:center;overflow-wrap:anywhere}
.grid,.extras,.choice{min-width:0}
.grid>* ,.extras>* ,.choice>*{min-width:0}
input,select,textarea{max-width:100%;min-width:0}
.row>strong{flex-shrink:0}
@media(max-width:560px){
 header{padding:18px 16px 22px}
 .brand-logo{width:min(100%,320px)}
 .head{gap:20px}
 .head .brand h1{font-size:1.8rem;overflow-wrap:normal}
 .contacts .contact{min-height:84px}
 .actions{grid-template-columns:minmax(0,1fr)}
 .actions .btn{min-height:76px}
 .grid,.choice,.extras{grid-template-columns:minmax(0,1fr)}
 .row{flex-wrap:wrap;gap:4px 12px}
}

/* Response first; contact actions belong to the selected response. */
.head{grid-template-columns:minmax(0,1fr)}
.response h3{color:#164b43;margin:0 0 12px;font-size:1.35rem}
.response-options{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;grid-auto-rows:auto}
.response-options legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.response-options .radio{align-items:center;min-height:48px;padding:10px 12px;gap:10px;font-size:15px;line-height:1.35;border-radius:10px;cursor:pointer}
.response-options input{flex:0 0 20px}
.waste-interest{margin-top:14px;padding:0;border:0}
.waste-interest .fine{margin:8px 0 12px}
.actions .btn.call{background:#fff;color:#075e54;border:2px solid #075e54;text-decoration:none;text-align:center}
@media(max-width:560px){.response-options{grid-template-columns:minmax(0,1fr)}}

#responsePlonico{margin-top:16px}#responsePlonico .btn.plonico{display:flex;align-items:center;justify-content:center;width:100%;min-height:58px;background:#1a3aa8;color:#fff;border:2px solid #ffca0a;text-align:center;text-decoration:none;line-height:1.4}#responsePlonico .btn.plonico:hover{background:#1a3aa8}#responsePlonico .btn.plonico:focus-visible{outline:3px solid #ffca0a;outline-offset:3px}

/* Transparent logo shares the single full-width header gradient. */
.brand-logo{background:transparent;border:0;box-shadow:none}
.brand-logo .brand-artwork{display:block;width:100%;height:100%;overflow:hidden}

.waste-media-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.waste-media button{border:1px solid #087f6d;background:#effbf7;color:#075e54;border-radius:10px;padding:10px 14px;min-height:44px;cursor:pointer;font-weight:650}
.waste-media input[hidden],.waste-media button[hidden]{display:none}
.waste-media-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:12px 0}
.waste-media-preview figure{margin:0;padding:8px;border:1px solid #cfe3dd;border-radius:10px;min-width:0}
.waste-media-preview img,.waste-media-preview video{width:100%;height:130px;object-fit:contain;background:#f0f7f4;border-radius:6px}
.waste-media-preview figcaption{font-size:12px;overflow-wrap:anywhere;margin:6px 0}
.waste-media button[id$="MediaShare"]{background:#087f6d;color:white}

.booking-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:14px;align-items:end;margin-top:20px}
.booking-contact .btn{width:100%;min-height:52px;line-height:1.4;padding:12px 16px}
@media(max-width:560px){.booking-contact{grid-template-columns:minmax(0,1fr)}}

.other-detail{display:grid;gap:7px;margin-top:6px;font-size:14px;font-weight:600}

.waste-media .waste-media-actions button{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:58px;margin:0;padding:10px 8px;font-family:inherit;font-size:14px;line-height:1.35;text-align:center;white-space:normal;overflow-wrap:anywhere}

/* Terms remain readable inside the green estimate panel. */
#keenBookingTerms{color:#173d2b;font-size:14px;line-height:1.5}

.booking-terms-group{margin-top:16px;padding:14px;border:1px solid #cfe3dd;border-radius:12px;background:#f8fcfb;color:#173d2b}
.booking-terms-group details{margin:0;padding:0;border:0;background:transparent}
.booking-terms-group summary{padding:8px 0;min-height:44px;display:list-item}
.booking-terms-group>.check{margin-top:10px;background:#fff;align-items:center;min-height:48px}
