* { box-sizing: border-box; }
body { 
    font-family: Arial, sans-serif; 
    background-color: #f4f4f4; 
    padding: 30px; 
}

.form-container { 
    background-color: white; 
    max-width: 900px; 
    margin: auto; 
    padding: 30px; 
    border-radius: 8px; 
    box-shadow: 0 0 10px rgba(0,0,0,0.1); 
}

h2 { 
    text-align: center; 
    margin-bottom: 30px; 
    color: #2c3e50; 
}

.section { 
    border: 1px solid #ccc; 
    padding: 20px; 
    margin-bottom: 25px; 
    border-radius: 5px; 
}

.section h3 { 
    margin-top: 0; 
    color: #34495e; 
}

label { 
    font-weight: bold; 
    display: block; 
    margin-top: 12px; 
}

input[type="text"], input[type="tel"], input[type="date"], input[type="time"], input[type="number"], textarea {
    width: 100%; 
    padding: 6px; 
    margin-top: 5px; 
    border: 1px solid #bbb; 
    border-radius: 4px;
}

.grid-2 { 
    display: grid; 
    grid-template-columns: 1fr 1fr; 
    gap: 15px; 
}

.checkbox-group, .resource-group {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px 40px;
}


.checkbox-group label, .resource-group label { 
    display: block; 
    font-weight: normal; 
}
.otros-recurso, .otros-espacios {
    grid-column: span 3;
    margin-top: 20px;
    display: block;
}
.otros-recurso input, .otros-espacios input {
    width: 100%;
    margin-top: 5px;
}

button {
    background-color: #2ecc71; 
    color: white; 
    border: none; 
    padding: 12px 20px;
    font-size: 16px; 
    cursor: pointer; 
    border-radius: 5px; 
    display: block; 
    margin: auto;
}

button:hover { 
    background-color: #27ae60; 
}

.opcional-tag {
    font-weight: normal;
    font-size: 14px;
    color: #888;
}

.repeat-container {
    display: flex;
    align-items: center;
    gap: 30px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.repeat-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: bold;
    margin: 0;
    font-size: 14px;
}

.repeat-day {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

.repeat-day label {
    font-weight: bold;
    margin: 0;
}

.repeat-day select {
    font-size: 14px;
    padding: 2px 8px;
    height: 22px;
    border-radius: 4px;
    border: 1px solid #bbb;
    line-height: 1;
    margin: 0;
}

.button-group {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 20px;
}

button.reset-button {
    background-color: #e74c3c;
}

button.reset-button:hover {
    background-color: #c0392b;
}

