.dw-waste {
    --dw-green: #59bd38;
    --dw-green-dark: #276a23;
    --dw-ink: #17211a;
    --dw-muted: #c9c9c9;
    --dw-border: #dfe7df;
    --dw-surface: #f5f8f4;
    color: var(--dw-ink);
    font-family: inherit;
    margin: 0 auto;
    max-width: 760px;
}

.dw-waste *, .dw-waste *::before, .dw-waste *::after { box-sizing: border-box; }
.dw-waste [hidden] { display: none !important; }

.dw-waste__header { margin-bottom: 24px; }
.dw-waste__eyebrow { color: var(--dw-green-dark); font-size: 13px; font-weight: 800; letter-spacing: .12em; margin: 0 0 5px; text-transform: uppercase; }
.dw-waste__title { font-size: clamp(28px, 7vw, 42px); line-height: 1.05; margin: 0; }
.dw-waste__intro { color: var(--dw-muted); font-size: 16px; line-height: 1.5; margin: 10px 0 0; }

.dw-waste__setup,
.dw-waste__calendar { }

.dw-waste__field label,
.dw-waste__paper legend { display: block; font-size: 15px; font-weight: 800; margin-bottom: 9px; }
.dw-waste__field input { appearance: none; background: var(--dw-surface); border: 2px solid transparent; border-radius: 13px; color: var(--dw-ink); font: inherit; min-height: 52px; padding: 0 15px; width: 100%; }
.dw-waste__field input:focus { border-color: #3ba9e1; box-shadow: 0 0 0 4px rgba(89, 189, 56, .15); outline: none; }
.dw-waste__validation { color: #b52424; font-size: 13px; margin: 7px 0 0; min-height: 19px; }

.dw-waste__paper { border: 0; margin: 18px 0 24px; padding: 0; }
.dw-waste__choice { align-items: center; border: 1px solid var(--dw-border); border-radius: 13px; cursor: pointer; display: flex; gap: 12px; margin-top: 9px; padding: 12px 14px; background-color: #8f8f8f;}
.dw-waste__choice:has(input:checked) {     
	background: #ffffff;
    border-color: #3ba9e1;
}
.dw-waste__choice input { accent-color: var(--dw-green-dark); height: 19px; margin: 0; width: 19px; }
.dw-waste__choice span { display: flex; flex-direction: column; }
.dw-waste__choice strong { font-size: 15px; }
.dw-waste__choice small { 
	color: #000000; 
	top: unset;
}

.dw-waste__button { border: 0; border-radius: 13px; cursor: pointer; font: inherit; font-weight: 800; min-height: 50px; padding: 12px 18px; width: 100%; }
.dw-waste__button--primary { 
	background: #3ba9e1; 
	color: #fff; 
}
.dw-waste__button--primary:hover { background: #1e551c; }
.dw-waste__button--secondary { 
    background: #3aaae2;
    color: #ffffff;
}

.dw-waste__location { align-items: center; display: flex; gap: 14px; justify-content: space-between; margin-bottom: 18px; }
.dw-waste__location div { display: flex; flex-direction: column; min-width: 0; }
.dw-waste__location span { 
    color: var(--dw-muted);
    font-size: 150%;
    font-weight: 700;
}

.dw-waste__location strong { 
	font-size: 15px; 
	overflow: hidden; 
	text-overflow: ellipsis; 
	white-space: nowrap; 
	color: #FFF !important;
}

.dw-waste__change {     
	background: #3aaae2;
    border: 0;
    color: #ffffff;
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    padding: 10px 30px;
    width: auto; }

.dw-waste__next { border-radius: 18px; color: #fff; display: flex; flex-direction: column; min-height: 180px; padding: 24px; position: relative; justify-content: flex-end; overflow: hidden; }
.dw-waste__next::after { background: rgba(255,255,255,.15); border-radius: 50%; content: ''; height: 180px; position: absolute; right: -50px; top: -70px; width: 180px; }
.dw-waste__next--bio { background: #9a672f; }
.dw-waste__next--rest { background: #5e6460; }
.dw-waste__next--yellow { background: #e2be00; color: #272300; }
.dw-waste__next--paper { background: #2676bd; }
.dw-waste__next--clothes { background: #77a9cf; }
.dw-waste__next--hazardous { background: #cf3443; }
.dw-waste__next-label { font-size: 13px; font-weight: 800; letter-spacing: .05em; margin-bottom: 8px; text-transform: uppercase; }
.dw-waste__next strong { font-size: clamp(28px, 8vw, 40px); line-height: 1.05; }
.dw-waste__next time { font-size: 15px; margin-top: 8px; }

.dw-waste__upcoming { margin-top: 28px; }
.dw-waste__upcoming h2 { font-size: 20px; margin: 0 0 10px; }
.dw-waste__item { align-items: center; border-bottom: 1px solid var(--dw-border); display: grid; gap: 12px; grid-template-columns: 13px 1fr auto; padding: 14px 2px; }
.dw-waste__item div { display: flex; flex-direction: column; }

.dw-waste__item strong { 
	font-size: 17px;
    color: #FFF;
}

.dw-waste__item time { color: var(--dw-muted); font-size: 17px; margin-top: 2px; }
.dw-waste__relative { color: var(--dw-muted); font-size: 17px; font-weight: 700; text-align: right; }
.dw-waste__dot { border-radius: 50%; height: 11px; width: 11px; }
.dw-waste__dot--bio { background: #9a672f; }
.dw-waste__dot--rest { background: #8a918d; }
.dw-waste__dot--yellow { background: #e2be00; }
.dw-waste__dot--paper { background: #2676bd; }
.dw-waste__dot--clothes { background: #77a9cf; }
.dw-waste__dot--hazardous { background: #cf3443; }

.dw-waste__actions { margin-top: 24px; }
.dw-waste__source { color: var(--dw-muted); font-size: 11px; line-height: 1.4; margin: 14px 0 0; text-align: center; }
.dw-waste__empty, .dw-waste-error { background: #fff4d8; border: 1px solid #e6ca7b; border-radius: 12px; color: #5e4c18; padding: 16px; }

@media (max-width: 520px) {
    .dw-waste__setup, .dw-waste__calendar { border-radius: 17px; }
    .dw-waste__next { min-height: 160px; padding: 20px; }
    .dw-waste__relative { display: none; }
    .dw-waste__item { grid-template-columns: 13px 1fr; }
}

@media (prefers-reduced-motion: no-preference) {
    .dw-waste__button, .dw-waste__choice { transition: background-color .2s ease, border-color .2s ease, transform .2s ease; }
    .dw-waste__button:active { transform: translateY(1px); }
}

