body {
    background:url(img/background-optimized.webp) no-repeat center center ;
    background-size:cover;
    background-attachment: fixed;
    min-height: 100vh;
    text-align: center;
}

/*----------HEADER----------*/

header {
    text-align: right;
}

.langBtn {
    background-color:rgba(255, 255, 255, 0.616);
    color:black;
    border-color: rgba(161, 130, 98, 0.781);
}

.langBtn:hover {
    opacity: 0.75;
    transition: opacity 0.2s;
    background-color: rgb(255, 255, 255);
}

/*----------MAIN----------*/

h1 {
    font-size: clamp(40px,5vw,60px);
    color:white;
}

form {
    padding-bottom: 20px;
}

.input-task {
    padding: 11px;
    border-radius: 4px;
    border: 1px solid rgba(36, 30, 19, 0.3);
    width: clamp(200px, 80%, 400px);
    font-size: 15px;
    font-family: inherit;
}

.input-task:focus {
    outline: 2px solid rgba(40, 24, 57, 0.5);
    outline-offset: 2px;
}

.langBtn,
.addBtn,
.filterBtn {
    padding:10px;
    border-radius: 3px;
    cursor: pointer;
    font-size: 16px;
    font-family: inherit;
}

.addBtn {
    background-color:rgba(36, 30, 19, 0.718);
    border-color: rgba(36, 30, 19, 0.718); 
    color:white;
    max-width: 130px;
    margin-left: 5px;
    margin-right: 5px;
}

.addBtn:hover {
    opacity: 0.75;
    transition: opacity 0.5s;
    background-color:rgb(31, 26, 16);
}

.todolist {
    padding-top: 5px;
    margin-top: 10px;
    width:100%;
    min-height:90vh;
    background:rgba(227, 223, 223, 0.600);
    border-radius: 10px;
    opacity: 0;
    visibility: hidden;
    transition: 0.4s;
    transform: translateY(20px);
    font-size: clamp(15px, 2vw, 18px);
}

.todolist.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.list-controls {
    display: flex;
    justify-content:space-between;
    align-items: center;
    padding: 15px 25px; 
    min-height: 50px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.filters {
    display: flex;
    gap: 15px;
}

.filterBtn {
    background: none; 
    border: none;
    border-bottom: 3px solid transparent; 
    color: rgba(57, 43, 24, 0.6); 
    font-size: 19px;
    padding: 5px 15px;
    cursor: pointer;
    transition: all 0.3s ease; 
    border-radius: 0; 
}

.filterBtn:hover {
    color: rgba(57, 43, 24, 1);
    opacity: 1;
}

.filterBtn.active {
    color: rgba(57, 43, 24, 1); 
    border-bottom: 3px solid rgba(112, 90, 68, 1); 
    opacity: 1;
    font-weight: bold;
}

.font-selector-container {
    font-size: 14px;
    color: white; 
}

#font-select {
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(192, 166, 126, 0.804);
    border-radius: 4px;
    padding: 3px 8px;
    cursor: pointer;
    font-family: inherit;
}

#font-select:focus {
    outline: 2px solid rgba(57, 43, 24, 0.5);
    outline-offset: 2px;
}

.counter {
    right: 25px;
    font-size: 17px;
    color: rgb(57, 43, 24);
    margin: 0;
    font-style: italic;
    padding: 10px 0;
}

li button {
    font-family: Arial, Helvetica, sans-serif;
    padding: 1px 5px;
    background-color:rgba(36, 30, 19, 0.718);
    border-color: rgba(36, 30, 19, 0.718);
    color:white;
    border-radius: 5px; 
}

li {
  display: flex;
  align-items: center;
  gap: 8px; 
  padding: 13px;
}

li:hover {
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 5px;
    transition: background-color 0.2s;
    cursor: pointer;
}

li.done .task-text {
  text-decoration: line-through;
  color: black;
}

li.todo .task-text {
  color: black;
}

.edit-input {
    padding: 8px;
    border-radius: 4px;
    border: 1px solid rgba(36, 30, 19, 0.3);
    font-size: 15px;
    font-family: inherit;
    outline: none;
    flex-grow: 1;      
    max-width: 400px;  
    width: 0;          
    margin-right: auto;
}

.edit-input:focus {
    outline: 2px solid rgba(57, 43, 24, 0.5);
    outline-offset: 2px;
}

.edit-btn,
.delete-btn {
    background: none;
    border: none;
    color: rgba(103, 93, 93, 0.575); 
    padding: 12px;  
    cursor: pointer;
    transition: color 0.3s, transform 0.2s;
    font-size: 18px; 
    flex-shrink: 0;
}

.edit-btn:hover,
.delete-btn:hover {
    flex-shrink: 0; 
    padding: 13px;  
    cursor: pointer;
    color: white;
    background-color: rgba(57, 43, 24, 0.937);
}

#task-list li {
    display: flex;
    align-items: center; 
    justify-content: space-between;
    padding: 5px 10px; 
}

.task-text {
    flex-grow: 1; 
    padding: 10px 0; 
    margin: 0;
    text-align: left;
    word-break: break-word; 
}

ul {
    padding: 0 20px;
}

input[type="checkbox"] {
    accent-color:rgba(57, 43, 24, 0.937);
    width: 20px;
    height: 20px;
    cursor:pointer;
}

/*----------FOOTER------------*/

footer {
    color: white;
    font-size: clamp(15px, 2vw, 18px);
}

/*--------MEDIA QUERIES-------*/

@media (max-width: 700px) {
ul {
    padding: 0;
}

li {
    gap: 3px;
}
}

@media (max-width: 600px) {
.input-task {
    margin-bottom: 10px;
}

.list-controls {
    flex-direction: column;
    gap: 10px;
    text-align: center;
}

.filterBtn {
    font-size: 18px; 
    padding: 5px 20px;
}

.font-selector-container {
    display: none;
}
}

@media (max-width: 450px) {
.input-task {
    margin-bottom: 10px;
}

.todolist {
    background:rgba(227, 223, 223, 0.792);
}

.list-controls {
    padding: 5px 15px; 
}

.filters {
    gap: 10px; 
}
}

